我读到了有关信号的信息,我知道如何从命令行向进程发送信号.做就是了
ps -C executable
Run Code Online (Sandbox Code Playgroud)
知道这个过程的pid,然后
kill -s signal pid(number)
Run Code Online (Sandbox Code Playgroud)
但是,如果可能的话,我想找到一种更具互动性和通用性的方法.
我想从命令行向特定进程发送信号.我不想打印我想要发出信号的过程的PID,而是使用代码了解哪个过程应该发出信号的方式.
除此之外,我想了解kill命令的作用.
exit(0),或者在发回信号后进程是否恢复?据我了解你的问题,你想用它的名字来表示一个过程,而不是它的PID.通过组合这两个命令可以很容易地实现这一点:
kill -s signal $(ps -C executable)
Run Code Online (Sandbox Code Playgroud)
是否会扼杀发出信号的过程?
kill 可以杀了.它不一定.
来自man kill:
命令kill将指定的信号发送到指定的进程或进程组.
这意味着,该kill命令通常用于**发送任何信号.
如果它杀死一个进程意味着它与do类似
exit(0),或者在发回信号后进程是否恢复?
从这里:
该
SIGKILL信号用于立即终止程序.它无法处理或忽略,因此总是致命的.也无法阻止此信号.
如果进程收到SIGKILL信号,它会立即终止(没有调用析构函数,不进行清理).唯一不终止的进程是不间断进程.
可在此处找到Linux上可用信号的完整列表.
| 归档时间: |
|
| 查看次数: |
5752 次 |
| 最近记录: |