如何解决如何在没有“master”标识的情况下找到主进程PID?
如何在没有master
标识的情况下找到主进程PID?
在这种情况下:
[root@4d62e42f3cde conf.d]# ps -ef | grep demosoft
root 1700 1 0 08:34 pts/0 00:00:00 grep --color=auto demosoft
root 26814 1 0 Apr12 ? 00:00:00 demosoft --config=/etc/demosoft/demosoft.conf
demosoft 26815 26814 0 Apr12 ? 00:01:33 demosoft --config=/etc/demosoft/demosoft.conf
demosoft 26816 26814 0 Apr12 ? 00:01:36 demosoft --config=/etc/demosoft/demosoft.conf
demosoft 26817 26814 0 Apr12 ? 00:01:35 demosoft --config=/etc/demosoft/demosoft.conf
demosoft 26818 26814 0 Apr12 ? 00:01:32 demosoft --config=/etc/demosoft/demosoft.conf
demosoft 26819 26814 0 Apr12 ? 00:01:30 demosoft --config=/etc/demosoft/demosoft.conf
demosoft 26820 26814 0 Apr12 ? 00:01:29 demosoft --config=/etc/demosoft/demosoft.conf
demosoft 26821 26814 0 Apr12 ? 00:01:29 demosoft --config=/etc/demosoft/demosoft.conf
demosoft 26822 26814 0 Apr12 ? 00:01:30 demosoft --config=/etc/demosoft/demosoft.conf
demosoft 26823 26814 0 Apr12 ? 00:01:44 demosoft --config=/etc/demosoft/demosoft.conf
我只知道使用命令:
ps -ef | grep demosoft | awk '{print $2}'
获取 PID:
1710
26814
26815
26816
26817
26818
26819
26820
26821
26822
26823
我想向主进程发送 SIGHUP 信号。但如何?
你知道如果它是一个 Nginx 进程,我可以通过以下方式发送 SIGHUP 信号:
kill -HUP $(ps -ef | grep Nginx | grep master | awk '{print $2}')
但是demosoft没有大师身份。
解决方法
您可以在阅读其文档后使用 pstree(1) 命令进行安装。
您还可以在阅读他们的文档后使用 top(1)、pgrep(1) 和 pkill(1) 命令。
您可以在 C 程序中使用 signal(7)(另请参阅 proc(5) 和 signal-safety(7))和几个 syscalls(2)(也许还使用 nftw(3)...)在阅读了更多文档和 Advanced Linux Programming
之后在大多数 Linux 系统上,您可以访问 /proc/
- 请仔细阅读 proc(5)
您可能想阅读与 systemd(1) 和 credentials(7) 相关的文档。
我还建议您阅读 Nginx 的文档。由于它是开源软件,因此您可以download its source code 对其进行改进。
您甚至可以(但这样做存在网络安全风险)编写一些 FastCGI 内容以通过 Web 界面远程kill(2) 进程(或使用 killpg(2)),或使用 { {3}} 为此编写一些网络服务,或者(在 2021 年春季或夏季)为 libonion 项目做出贡献以更聪明地这样做
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。