Stewart Asked: 2018-05-17 23:03:32 +0800 CST2018-05-17 23:03:32 +0800 CST 2018-05-17 23:03:32 +0800 CST 如何中断watch命令? 772 我有一个将一些信息打印到标准输出的程序,我像这样运行它: watch -n 0.1 myprogram 我的问题是我需要myprogram干净地退出,调用适当的析构函数来释放系统范围的互斥锁。如果我按CTRL+ C,则将watch被杀死并且myprogram没有机会干净地退出。 有没有办法watch干净地退出,以便在返回之前等待子进程完成? 该man页面简单地说: 手表会一直运行直到被打断 kill watch 1 个回答 Voted Best Answer U880D 2018-05-19T00:08:24+08:002018-05-19T00:08:24+08:00 关于您问题的第一部分“有没有办法干净地退出手表? ”,是的,您可以通过发送信号来停止进程。 首先,您需要找出正在运行的进程 ID (PID)watch。您可以按名称执行此操作: pidof watch 或按用户以及如何查看 Unix/linux 中特定用户创建的进程 ps -u ${USER} | grep -i watch | cut -d " " -f 1 然后通过发送信号停止watch kill -IT ${PID} kill -INT $(pidof watch) 你问题的第二部分更多的是关于处理信号。
关于您问题的第一部分“有没有办法干净地退出手表? ”,是的,您可以通过发送信号来停止进程。
首先,您需要找出正在运行的进程 ID (PID)
watch
。您可以按名称执行此操作:或按用户以及如何查看 Unix/linux 中特定用户创建的进程
然后通过发送信号停止
watch
你问题的第二部分更多的是关于处理信号。