Ste*_*ger 6 bash kill ubuntu dash
我有以下人为的脚本来说明我的问题:
#!/bin/bash
set -eux
sudo sleep 120 &
spid=$!
sleep 1
sudo kill $spid
wait $!
Run Code Online (Sandbox Code Playgroud)
这将打印
$ ./test.sh
+ spid=21931
+ sleep 1
+ sudo sleep 120
+ sudo kill 21931
+ wait 21931
Run Code Online (Sandbox Code Playgroud)
然后坚持wait到sleep 120超时。但是,当我sudo kill 21931从另一个终端运行时,睡眠进程会立即终止。我希望sudo kill $spid脚本中的这一行也能立即终止睡眠进程。为什么这不起作用,我该如何使它起作用?
(可能是相关的:我在 Ubuntu 15.10 上看到了这种行为 bash 4.3.42 和 dash 0.5.7。)
| 归档时间: |
|
| 查看次数: |
2008 次 |
| 最近记录: |