我有一个简单的 shell 脚本,可以执行以下操作:
#!/usr/bin/bash
while read line; do
*prints menu*
*process 1* (e.g. pid=500)
sleep 2
*process 2* (e.g. pid=502)
*while process 1 is active*; do
sleep 1
kill -9 502
在第一个 while 循环中,一切都在正确的位置进行,如果 process 1
在 process 2
之前终止,则它被杀死。问题出在第二个周期之后:当第 i 个周期开始时,它总是打印如下内容:
script.sh: line "n": 502 Killed ( python3 program_name argv[1] ecc...)
有人知道如何避免这种打印吗?该脚本应该可以工作(我使用 ps -a
进行了检查,当 pid 500 终止时,pid 502 会立即终止)但该打印并不优雅。
答案 0 :(得分:0)
如果你不想要一个命令的标准输出,
command > /dev/null
如果您不想只为命令使用 stderr,
command 2> /dev/null
如果您不想只为一个命令同时输出 stdout 和 stderr,
command > /dev/null 2>&1