Fish Shell: 检查和 运行 一个进程 if not 运行ning

Fish Shell: Check and run a process if not running

我想在打开终端时启动一个进程 [mpd],并在我打开第二个选项卡时检查它是否已经 运行ning,这样它就不会尝试 运行 它再次。这是我过去在 .bashrc 上的内容:

#start mpd automatically if not yet running.
if [[ -z "$(pgrep mpd)" ]]; then
  mpd
fi

我想是这样的,或者可能使用 test -f,但我不知道如何让它工作:

# MPD
if pgrep mpd > /dev/null 
  command mpd
end

[这位于我的 config.fish 文件中。

您可以添加到您的 config.fish

if not pgrep -f mpd > /dev/null
    command mpd
end

或者如果您使用 fish >= 2.3.0~/.config/fish/conf.d/* 来更好地分离关注点。