![]() |
1
158
清理一些烂摊子,
但如果shell退出,也可以用于执行某些操作:
它是内置的,所以
注意使用单人房
|
![]() |
2
135
|
![]() |
3
97
为什么转换
为什么触发
为什么?
|
![]() |
4
20
我只会对johannes的答案做一些细微的更改,并使用jobs-pr来限制对正在运行的进程的杀戮,并在列表中添加更多的信号:
|
![]() |
5
11
这个
这可以通过手动取消注册陷阱来解决:
更奇特的方式,允许打印接收到的信号并避免“终止:”消息:
UPD
:添加了最小示例;改进了
|
![]() |
6
7
为了安全起见,我发现最好定义一个清理函数并从陷阱中调用它:
或者完全避免这个功能:
为什么?因为只要使用
因为
|
![]() |
7
2
一个在Linux、BSD和MacOSX下工作的好版本。首先尝试发送sigterm,如果失败,则在10秒后终止进程。
请注意,工作不包括孙子流程。 |
![]() |
8
1
另一种选择是让脚本自己设置为流程组负责人,并在退出时在流程组上捕获killpg。 |
![]() |
9
0
所以脚本加载脚本。运行一个
|
![]() |
10
0
如果在子shell中调用jobs-p,则它不会在所有shell中工作,除非它的输出被重定向到一个文件而不是管道中。(我假设它最初只用于交互使用。) 下面是什么?
对“job s”的调用需要使用debian的dash shell,如果缺少,它将无法更新当前作业(“%%)。 |
![]() |
11
0
我将@tokland的答案与
http://veithen.github.io/2014/11/16/sigterm-propagation.html
当我注意到
IT工作示例:
|
![]() |
12
0
喜欢 https://stackoverflow.com/a/22644006/10082476 ,但添加了退出代码 |
![]() |
13
0
为了多样性,我将发布 https://stackoverflow.com/a/2173421/102484 ,因为该解决方案会在我的环境中导致消息“已终止”:
|
![]() |
Plankt0n · Shell,执行一个需要逐一遍历多个值的命令 7 月前 |
![]() |
Fin · 如何使用bash从表中提取数据 7 月前 |
![]() |
aenagy · Bash声明不喜欢带空格的值 7 月前 |
![]() |
PkDrew · AND运算符“&”在“&tee”中的作用是什么? 8 月前 |
![]() |
elbarna · 正则表达式仅排除小写字符串,但保存包含大写的字符串 8 月前 |
![]() |
Harry · 使用“$!”获取后台作业的pid 8 月前 |
![]() |
nmr · 使用来自另一个shell脚本的if语句的返回码函数 8 月前 |
![]() |
minseong · Git sed忽略二进制文件 11 月前 |
![]() |
Jesper.Lindberg · 检查参数是否包含null 12 月前 |