如何发送参数以在后台运行进程?

时间:2019-01-31 07:19:31

标签: bash shell command-line process signals

我写了一个小小的shell脚本,每次调用它都会播放音乐。

function playmusic() {
  find /music/path -type f -name "*.mp3" -exec mplayer {} \;
}

并将其添加到我的.zshrc文件中,因此现在我可以通过调用playmusic播放音乐。

如果我使用多个选项卡,则必须在播放音乐的位置搜索选项卡,但是如果我知道如何向playmusic函数PID发送参数,则可以从任何终端进行控制。

任何建议,我们将不胜感激。

谢谢。

1 个答案:

答案 0 :(得分:2)

您可以使用从属模式:http://www.mplayerhq.hu/DOCS/tech/slave.txt

例如:

mkfifo ~/.mplayer/fifo

function playmusic(){
    find /music/path -type -name "*.mp3" -exec \
    mplayer -really-quiet -slave -input file=~/.mplayer/fifo {} \;
}

function mmute(){
    echo m > ~/.mplayer/fifo
}
function mquit(){
    echo q > ~/.mplayer/fifo
}