bash 函数中的非阻塞 nohup?
Non-blocking nohup in bash function?
我几乎可以肯定有一个简单的解决方案可以解决我的以下问题:
我有一个 bash 脚本,比方说 blob.bash:
#!/bin/bash
function player_test(){
if [ "$(pidof someplayer)" ]; then
# do some stuff
exit 0
else
nohup someplayer &
exit 1
fi
}
if $(player_test); then
echo Message A
else
echo Message B
fi
如果玩家是 运行,方法 returns 并且我得到消息 A。很好。
如果不是运行,则启动。但是,条件只有returns玩家退出后消息B被延迟。
背景:
我正在写一个脚本,它不断地将曲目输入音频程序的播放列表。在相应的函数中,播放器以nohup启动,当它还没有运行时。
祝福...
nohup
命令仍然打开您的 stdout 和 stderr。像这样重定向到 /dev/null
:
nohup someplayer &>/dev/null &
和你的函数 returns 立即。
我几乎可以肯定有一个简单的解决方案可以解决我的以下问题:
我有一个 bash 脚本,比方说 blob.bash:
#!/bin/bash
function player_test(){
if [ "$(pidof someplayer)" ]; then
# do some stuff
exit 0
else
nohup someplayer &
exit 1
fi
}
if $(player_test); then
echo Message A
else
echo Message B
fi
如果玩家是 运行,方法 returns 并且我得到消息 A。很好。 如果不是运行,则启动。但是,条件只有returns玩家退出后消息B被延迟。
背景: 我正在写一个脚本,它不断地将曲目输入音频程序的播放列表。在相应的函数中,播放器以nohup启动,当它还没有运行时。
祝福...
nohup
命令仍然打开您的 stdout 和 stderr。像这样重定向到 /dev/null
:
nohup someplayer &>/dev/null &
和你的函数 returns 立即。