Linux 从命令行向进程发送信号
我读过信号,知道如何从命令行向进程发送信号。照办Linux 从命令行向进程发送信号,linux,signals,Linux,Signals,我读过信号,知道如何从命令行向进程发送信号。照办 ps -C executable 了解流程的pid,然后 kill -s signal pid(number) 但是,如果可能的话,我想找到一种更具交互性和通用性的方法 我想从命令行向特定进程发送一个信号。我不想打印我想要发送信号的进程的PID,而是使用代码能够理解应该发送信号的进程的方式 除此之外,我想详细了解kill命令的作用 它会杀死发出信号的过程吗 它是否会终止调用它的进程 如果它终止一个进程,则意味着它类似于执行退出(0),或者该
ps -C executable
了解流程的pid,然后
kill -s signal pid(number)
但是,如果可能的话,我想找到一种更具交互性和通用性的方法
我想从命令行向特定进程发送一个信号。我不想打印我想要发送信号的进程的PID,而是使用代码能够理解应该发送信号的进程的方式
除此之外,我想详细了解kill命令的作用
- 它会杀死发出信号的过程吗
- 它是否会终止调用它的进程
- 如果它终止一个进程,则意味着它类似于执行退出(0),或者该进程在信号发送回后是否继续
kill -s signal $(ps -C executable)
它会杀死发出信号的过程吗
杀死
可以杀死。不一定
从杀人
:
kill命令将指定的信号发送到指定的
过程
或进程组
这意味着,kill
命令通常用于**发送任何信号。
如果它终止一个进程,则意味着它类似于执行退出(0),或者 信号发回后,过程是否继续 发件人:
SIGKILL
信号用于导致程序立即终止。信息技术
无法处理或忽略,因此总是致命的。它是
也不可能阻止此信号
如果进程收到SIGKILL
信号,它将立即终止(未调用析构函数,未完成清理)。唯一不终止的进程是不间断进程
可以找到Linux上可用的信号的完整列表 我想从命令行向特定进程发送一个信号。我不想打印我想要发送信号的进程的PID,而是使用代码能够理解应该发送信号的进程的方式 如果您有可用的
killall
命令,则该命令满足这些条件。它允许您根据进程名称指定要发送信号的进程。以下所有注释同样适用于通过killall
发送信号和通过kill
发送信号的效果
除此之外,我想详细了解kill命令的作用
它会杀死发出信号的过程吗
它传递指定的信号。就这样。它所能传递的某些信号将具有终止进程的效果
它是否会终止调用它的进程
它只向您指定的进程发送信号
如果它终止了一个进程,这意味着它类似于do exit(0),或者该进程在信号发送回来后会继续吗
进程可以在不终止的情况下处理某些信号。当一个进程接收到这些信号中的一个时,会发生什么具体情况取决于该进程。如果一个进程没有为其默认操作是终止该进程的信号提供处理程序,那么该进程将死亡,永远不会恢复。其效果有点像调用exit()
函数或从main()
返回,但终止是突然的,没有调用exit处理程序之类的。我更喜欢这样:
pkill -signal processname
以下是我不时使用的一个具体示例:
pkill -USR1 Squeak
请参见那么,您希望以何种形式发送信号?你能举例说明吗?@EugeneSh。我想说,在代码中运行函数的命令是完美的。我可以创建一个函数来发送信号而不会出现问题。我仍然想知道kill的作用是什么,所以我可以毫无问题地使用kill,它不会暂停或终止任何进程,只要我不使用SIGKILL信号?但是,我有3个进程,所以我认为你的答案建议会将信号发送给所有3个进程,而不是1个specific@Andr艾尔梅达
kill
只发送信号。还有其他信号,如停止/终止程序的SIGSTOP
或SIGTERM
。您需要查看每个信号的功能,以确定其功能。