linux – 是否可以将输入传递给正在运行的服务或守护进程?

linux – 是否可以将输入传递给正在运行的服务或守护进程?,第1张

概述我想创建一个在 Linux上作为守护程序运行的Java控制台应用程序,我创建了应用程序和脚本以将应用程序作为后台守护程序运行.应用程序运行并等待命令行输入. 我的问题: 是否可以将命令行输入传递给正在运行的守护程序? 所有正在运行的进程在 /proc下都有一个特殊目录,其中包含进程中的信息和挂钩. / proc的每个子目录都是正在运行的进程的PID.因此,如果您知道特定过程的PID,则可以获得有关 我想创建一个在 Linux上作为守护程序运行的Java控制台应用程序,我创建了应用程序和脚本以将应用程序作为后台守护程序运行.应用程序运行并等待命令行输入.

我的问题:

是否可以将命令行输入传递给正在运行的守护程序?

解决方法 所有正在运行的进程在 /proc下都有一个特殊目录,其中包含进程中的信息和挂钩. / proc的每个子目录都是正在运行的进程的PID.因此,如果您知道特定过程的PID,则可以获得有关它的信息.例如.:

$sleep 100 & ls /proc/$!...cmdline...cwdenvironexefdfdinfo...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.

总结

以上是内存溢出为你收集整理的linux – 是否可以将输入传递给正在运行的服务或守护进程?全部内容,希望文章能够帮你解决linux – 是否可以将输入传递给正在运行的服务或守护进程?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/yw/1024441.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存