我看不到从我的脚本中隐藏“被杀死的”输出。请帮帮忙。
killall -9 $SCRIPT我试过:
killall -9 $SCRIPT >/dev/null 2>&1似乎每个人都会重定向组合。谢谢你的帮助。
* UPDATE *
主脚本无法在后台运行。它在运行时向用户输出大量信息。不过,谢谢你的意见。还有其他想法吗?
以下是所需的输出
HEV终止
管理员@hev-DEV:~/hev-1.2.7美元
以下是当前的输出:
HEV终止
被杀了
管理员@hev-DEV:~/hev-1.2.7美元
发布于 2013-12-31 18:00:10
不是打印它的脚本,而是外壳。您可以通过将它放在背景中并等待它完成,从那里重定向错误来抑制它:
./script &
wait 2>/dev/null发布于 2013-12-31 18:04:04
看起来,如果在子subshell中执行脚本(包括&),就可以避免这种情况:
$ ( ./script.sh & )
$ ps
PID TTY TIME CMD
14208 pts/0 00:00:00 bash
16134 pts/0 00:00:00 script.sh
16135 pts/0 00:00:00 sleep
16136 pts/0 00:00:00 ps
$ killall script.sh
$如果我像./script.sh那样执行它(没有子subshell),那么我将得到输出
[1]+ Terminated ./script.sh &>/dev/null发布于 2016-02-20 18:36:56
试着..。
(killall -9 $SCRIPT) 2>/dev/null这将执行子subshell中的"killall“,并且重定向来自该子subshell的所有输出,包括”已杀死“输出。
https://stackoverflow.com/questions/20861295
复制相似问题