Macos Bash脚本(OS X)检查正在运行的进程,如果正在运行则退出,如果未运行则启动(开/关)

Macos Bash脚本(OS X)检查正在运行的进程,如果正在运行则退出,如果未运行则启动(开/关),macos,bash,process,Macos,Bash,Process,我希望在.app(使用Platypus或其他东西)中有一个脚本,它可以用pgrep之类的东西检查正在运行的进程,并通过运行进程(如果进程尚未运行)来处理输出,如果进程正在运行则将其杀死(pkill或其他东西) kill需要停止脚本第一次启动的进程,以及它首先运行的应用程序 我知道这是不对的,但像这样: #!/bin/bash if pgrep 'process' &> /dev/null; then 'command'; else pkill "command,app" |

我希望在.app(使用Platypus或其他东西)中有一个脚本,它可以用pgrep之类的东西检查正在运行的进程,并通过运行进程(如果进程尚未运行)来处理输出,如果进程正在运行则将其杀死(pkill或其他东西)

kill需要停止脚本第一次启动的进程,以及它首先运行的应用程序

我知道这是不对的,但像这样:

#!/bin/bash
if pgrep 'process' &> /dev/null;
then     'command';
else pkill "command,app" || true;
fi

一种更可靠的方法不是简单地按名称终止进程,而是在启动后将进程的PID保存到文件或其他文件中。然后,在终止时,您通常至少要执行两项检查:文件和其中的有效PID是否存在,以及是否存在具有适当名称的进程。这样你就不会误杀另一个实例了。谢谢你的回复。我该怎么办?它本质上是一个脚本,每次运行时都需要关闭和打开它。我在两个单独的脚本中合并了正确的运行和关闭流程。我现在只需要一个脚本,如果它看到一个进程的实例,它将运行一个或另一个。