当 Ctrl-C 不起作用时,如何终止从 rc.local 启动的程序?

当 Ctrl-C 不起作用时,如何终止从 rc.local 启动的程序?

我试图创建一个在启动时运行的程序,在我的树莓派上每 10 秒拍摄一张照片(无限循环),但我发现我犯了一个错误,但无法Ctrl摆脱C它。有办法逃脱吗?

(我确实尝试去不同的工作区,但登录提示不会显示。)

答案1

如果从 rc.local 启动程序,则无法登录 shell 并键入 ctrl-c 来停止它。原因是该程序不是从您登录的 shell 启动的。

您将找到该程序的进程 ID ( pid) 并使用该kill命令向该进程发送信号,使其终止。

例如,在控制台(在终端窗口中或通过 ssh 登录):

ps aux | grep 'the-name-of-your-progam'

第二列中的数字是pid。使用它pid向进程发送终止信号:

kill -TERM [put-your-pid-here]

进程可能会选择忽略该信号,因此再次TERM运行管道。ps如果仍然看到相同的pid,则发送终止信号:

kill -KILL [put-your-pid-here]

相关内容