不在后台处理 运行

Process not running in background

我正在尝试制作一个启动 Alacritty 和 tmux 的苹果脚本。我有所有的部分,除了脚本在我 运行 Alacritty 时运行,我希望它在 运行 之后很快退出(在这两种情况下,tmux 会话存在和不存在) .

set t to (time of (current date))

do shell script "nohup /Applications/Alacritty.app/Contents/MacOS/alacritty -e /usr/local/bin/tmux attach || tmux new -s general > /dev/null 2>&1 &"

if (time of (current date)) < t + 1 then
do shell script "nohup /Applications/Alacritty.app/Contents/MacOS/alacritty -e /usr/local/bin/tmux new -s general > /dev/null 2>&1 &"
end if

当没有 tmux 会话时,这会像我希望的那样工作,但它一直运行到我退出 Alacritty。

我认为解决方案与 AppleScript 中的作业控制有关,但我想不通。我基本上需要一种方法来等待一两秒钟,然后测试它是 运行 还是什么。

好吧,我想出了另一个办法:

do shell script "nohup /Applications/Alacritty.app/Contents/MacOS/alacritty -e /usr/local/bin/tmux new -A -s general > /dev/null 2>&1 &"

这结合了两者。