相关疑难解决方法(0)

如何在bash中杀死后禁止终止消息?

如何抑制Terminated在bash脚本中终止进程后出现的消息?

我试过了set +bm,但那不起作用.

我知道另一个解决方案涉及呼叫exec 2> /dev/null,但是可靠吗?如何重新设置它以便我可以继续查看stderr?

unix bash shell

54
推荐指数
6
解决办法
4万
查看次数

如何屏蔽kill输出

我运行一个脚本,如:

sleep 20 &
PID=$!
kill -9 $PID >/dev/null 2>&1
Run Code Online (Sandbox Code Playgroud)

我不希望脚本显示输出如下:

line 51: 22943 Killed  sleep
Run Code Online (Sandbox Code Playgroud)

我不知道为什么会发生这种情况,我已将输出重定向到/ dev/null

bash shell

8
推荐指数
2
解决办法
7510
查看次数

当我的命令被超时杀死时,如何使“已终止”消息静音?

通过引用bash:静默地杀死后台函数进程在bash 中使命令超时而没有不必要的延迟,我编写了自己的脚本来为命令设置超时以及使kill消息静音。

但是当我的进程被终止时,我仍然收到“已终止”消息。我的代码有什么问题?

#!/bin/bash
silent_kill() {
    kill $1 2>/dev/null
    wait $1 2>/dev/null
}
timeout() {
    limit=$1 #timeout limit
    shift
    command=$* #command to run
    interval=1 #default interval between checks if the process is still alive
    delay=1 #default delay between SIGTERM and SIGKILL
    (
        ((t = limit))
        while ((t > 0)); do
            sleep $interval;
            #kill -0 $$ || exit 0
            ((t -= interval))
        done
        silent_kill $$
        #kill -s SIGTERM $$ && kill -0 $$ || exit 0 …
Run Code Online (Sandbox Code Playgroud)

bash shell

5
推荐指数
1
解决办法
1179
查看次数

标签 统计

bash ×3

shell ×3

unix ×1