我通常做的是暂停我的脚本,在后台运行它,然后像这样否认它
./script
^Z
bg
disown然而,我希望能够在任何时候取消我的脚本。如果我有一个无限期运行的脚本,我希望能够在几个小时或一天后取消它,或者任何时候我想取消它。
发布于 2017-07-20 12:43:27
既然你有一点困难,让我们看看我们是否可以为你保持简单。(这假设您可以写入/tmp,根据需要进行更改)。让我们在后台启动您的脚本并创建一个包含其进程的PID的PID文件。
$ ./script & echo $! > /tmp/scriptPID您可以检查/tmp/scriptPID的内容
$ cat /tmp/scriptPID
######其中,######是正在运行的./script进程的PID编号。您可以使用pidof script进一步确认(它将返回相同的######)。您也可以使用ps aux | grep script查看该数字。
当您准备终止./script进程时,只需将数字(例如######)传递给kill。您可以使用以下命令直接执行此操作:
$ kill $(</tmp/scriptPID)(或者使用我的评论中列出的其他方法)
您可以在杀死进程后添加rm /tmp/scriptPID删除pid文件。
仔细检查一下,如果你还有什么问题,请告诉我。
https://stackoverflow.com/questions/45203597
复制相似问题