【问题标题】:How to send arguments to process running in the background?如何向后台运行的进程发送参数?
【发布时间】:2019-01-31 07:19:31
【问题描述】:

我编写了一个小的 shell 脚本,当我调用它时它会播放音乐。

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

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

如果我正在使用多个标签,我必须搜索我正在播放音乐的标签,但如果我知道如何将参数发送到playmusic 函数 PID,那么我可以从任何终端控制它。

任何建议都非常感谢。

谢谢。

【问题讨论】:

  • 这对你有用吗? find /music/path -type f -name '*.mp3' -exec mplayer -enqueue {} \;这会将所有参数排入当前播放列表
  • 是的@Allan,我遇到了这个问题。现在我打算制作一个播放列表,按模式获取歌曲并制作播放列表功能。

标签: bash shell command-line process signals


【解决方案1】:

您可以使用从模式: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
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-25
    • 2012-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-18
    • 1970-01-01
    相关资源
    最近更新 更多