进程不在后台运行

问题描述

我正在尝试制作一个启动 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 &"

这结合了两者。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...