我几乎可以肯定解决以下问题很简单:
我有一个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
如果播放器正在运行,则该方法返回,我收到消息A.好。 如果它没有运行,它就会启动。但是,条件仅在玩家退出并且消息B被延迟后才返回。
背景: 我正在写一个脚本,它不断地将曲目输入到音频节目的播放列表中。在相应的功能中,播放器以nohup启动,当它还没有运行时。
祝福......
答案 0 :(得分:3)
nohup
命令仍然打开stdout和stderr。像这样重定向到/dev/null
:
nohup someplayer &>/dev/null &
并且您的函数立即返回。