首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在终端关闭的情况下运行shell脚本,并随时停止脚本

如何在终端关闭的情况下运行shell脚本,并随时停止脚本
EN

Stack Overflow用户
提问于 2017-07-20 09:22:15
回答 1查看 326关注 0票数 0

我通常做的是暂停我的脚本,在后台运行它,然后像这样否认它

代码语言:javascript
运行
复制
./script
^Z
bg
disown

然而,我希望能够在任何时候取消我的脚本。如果我有一个无限期运行的脚本,我希望能够在几个小时或一天后取消它,或者任何时候我想取消它。

EN

回答 1

Stack Overflow用户

发布于 2017-07-20 12:43:27

既然你有一点困难,让我们看看我们是否可以为你保持简单。(这假设您可以写入/tmp,根据需要进行更改)。让我们在后台启动您的脚本并创建一个包含其进程的PIDPID文件。

代码语言:javascript
运行
复制
$ ./script & echo $! > /tmp/scriptPID

您可以检查/tmp/scriptPID的内容

代码语言:javascript
运行
复制
$ cat /tmp/scriptPID
######

其中,######是正在运行的./script进程的PID编号。您可以使用pidof script进一步确认(它将返回相同的######)。您也可以使用ps aux | grep script查看该数字。

当您准备终止./script进程时,只需将数字(例如######)传递给kill。您可以使用以下命令直接执行此操作:

代码语言:javascript
运行
复制
$ kill $(</tmp/scriptPID)

(或者使用我的评论中列出的其他方法)

您可以在杀死进程后添加rm /tmp/scriptPID删除pid文件。

仔细检查一下,如果你还有什么问题,请告诉我。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45203597

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档