gpt4 book ai didi

linux - 如何在不杀死当前执行行的情况下杀死shell脚本

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:51:42 25 4
gpt4 key购买 nike

我正在运行一个 shell 脚本,类似于 bash 中的 sh script.sh。该脚本包含许多行,其中一些需要几秒钟,而另一些需要几天才能执行。如何终止 sh 命令但不终止其当前正在运行的命令(脚本的当前行)?

最佳答案

您没有具体指定“终止”脚本时应该发生什么,但我假设您希望当前正在执行的行完成并退出,然后再做任何工作。

这可能最好的实现方式是将脚本编码为能够接收这样的 kill 命令并以适当的方式响应 - 我认为在 linux 中没有任何魔法可以做到这一点。

例如:

  • 你可以捕获一个信号然后设置一个变量
  • 检查文件是否存在(例如touch/var/tmp/trigger)

然后在脚本的每一行之后,您需要检查是否每个陷阱都已被调用(或您的触发器文件已创建),然后退出。如果尚未设置触发器,则继续进行下一项工作。

据我所知,您无法捕获 SIGKILL (-9) - 如果有人将其发送到您的进程,那么它就会死掉。

HTH,王牌

关于linux - 如何在不杀死当前执行行的情况下杀死shell脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32749016/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com