Bash hide”一词;“杀死”;

Bash hide”一词;“杀死”;,bash,redirect,kill,Bash,Redirect,Kill,我无法从脚本中隐藏“已终止”的输出。请帮忙 killall -9 $SCRIPT 我试过: killall -9 $SCRIPT >/dev/null 2>&1 每个人看起来都是这样。谢谢你的帮助 *更新* 主脚本无法在后台运行。它在运行时向用户输出大量信息。谢谢你的意见。还有其他想法吗 这是所需的输出 HEV终止 administrator@HEV-DEV:~/hev-1.2.7$ 以下是电流输出: HEV终止 杀死 administrator@HEV-DEV:~/he

我无法从脚本中隐藏“已终止”的输出。请帮忙

killall -9 $SCRIPT
我试过:

killall -9 $SCRIPT >/dev/null 2>&1
每个人看起来都是这样。谢谢你的帮助

*更新*


主脚本无法在后台运行。它在运行时向用户输出大量信息。谢谢你的意见。还有其他想法吗

这是所需的输出

HEV终止
administrator@HEV-DEV:~/hev-1.2.7$

以下是电流输出:

HEV终止
杀死

administrator@HEV-DEV:~/hev-1.2.7$

打印它的不是脚本,而是shell。您可以通过将其置于后台并等待其完成,然后从那里重定向错误来抑制它:

./script &
wait 2>/dev/null

如果在子shell中执行脚本(包括
&
),似乎可以避免这种情况:

$ ( ./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
那样执行它(没有子shell),那么我就得到了输出

[1]+  Terminated              ./script.sh &>/dev/null
试试看

(killall -9 $SCRIPT) 2>/dev/null

这将在子shell中执行“killall”,并重定向该子shell的所有输出,包括“KILLED”输出。

请编辑您的问题,以包含希望避免的“KILLED”输出示例。祝你好运。相关:不要使用
-9
。它应该是不必要的,如果是,那么
$SCRIPT
有一个bug,应该被修复。另外,请参阅问题和。主脚本不能在后台运行。你可以用SIGINT杀死它吗?主脚本不能在后台运行