Sri*_*nth 5 c unix signals pid kill
我有一个进程名称,我kill()要向该进程发送一个信号,但我需要调用它的PID kill().我只想用:
popen("pidof process_name");
Run Code Online (Sandbox Code Playgroud)
作为最后一件事.有没有其他方法可以找到进程'PID?我能想到的一种方法是向该进程发送套接字请求并询问其PID.
另一种方式对于我正在编写的简单代码来说有点过于复杂:要做pidof命令的源代码实际正在做的事情(它使用函数调用find_pid_by_name()但是它做了很多事情).
如果没有简单的解决方案,我就这样做:
system("pkill <process_name>");
Run Code Online (Sandbox Code Playgroud)
并检查其返回码.但是,在所有Linux机器上都可以获得pkill吗?
你提到你正在使用linux。这不是最干净的解决方案,但您可以浏览 /proc 中的每个条目,并根据您要查找的内容检查 cmdline 中的进程名称。