linux – 是否可以将输入传递给正在运行的服务或守护进程?
发布时间:2020-12-14 00:43:33 所属栏目:Linux 来源:网络整理
导读:我想创建一个在 Linux上作为守护程序运行的Java控制台应用程序,我创建了应用程序和脚本以将应用程序作为后台守护程序运行.应用程序运行并等待命令行输入. 我的问题: 是否可以将命令行输入传递给正在运行的守护程序? 解决方法 所有正在运行的进程在 /proc
我想创建一个在
Linux上作为守护程序运行的Java控制台应用程序,我创建了应用程序和脚本以将应用程序作为后台守护程序运行.应用程序运行并等待命令行输入.
我的问题: 是否可以将命令行输入传递给正在运行的守护程序? 解决方法
所有正在运行的进程在
/proc 下都有一个特殊目录,其中包含进程中的信息和挂钩. / proc的每个子目录都是正在运行的进程的PID.因此,如果您知道特定过程的PID,则可以获得有关它的信息.例如.:
$sleep 100 & ls /proc/$! ... cmdline ... cwd environ exe fd fdinfo ... status ... 值得注意的是fd目录,其中包含与进程关联的所有file descriptors. 0(1和2)存在(几乎?)所有进程,0是默认的stdin.因此写入/ proc / $PID / fd / 0将写入该进程的stdin. 更强大的替代方案是设置连接到进程’stdin的named pipe;然后你可以写入该管道,进程将读取它而无需依赖/ proc文件系统. 另请参阅ServerFault上的Writing to stdin of background process. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |