我想在终端中打开xcode工作区,等待一段时间,然后关闭该工作区(xcode有一些隐藏的魔法,它在自动构建过程中需要这样做的项目上)。Mac终端打开命令 - 保存已打开应用程序的PID?
因此,一些喜欢 -
pid=`open proj.xcworkspace`
sleep 30
kill $pid
由于多个xcode的项目可能在同时运行。我不能简单地杀死xcode,只是我开始的过程。
如何获取我在终端中打开的应用程序的PID?
我想在终端中打开xcode工作区,等待一段时间,然后关闭该工作区(xcode有一些隐藏的魔法,它在自动构建过程中需要这样做的项目上)。Mac终端打开命令 - 保存已打开应用程序的PID?
因此,一些喜欢 -
pid=`open proj.xcworkspace`
sleep 30
kill $pid
由于多个xcode的项目可能在同时运行。我不能简单地杀死xcode,只是我开始的过程。
如何获取我在终端中打开的应用程序的PID?
您可以通过$$
找到当前的Process ID
。您可以使用ps -C PROGRAMM_NAME -o pid=
搜索Process IDs
。
[email protected]:~$ ps -C icedove -o pid=
887
[email protected]:~$ ps -C vlc -o pid=
29405
加...
这里是我的意思工作的例子...
#!/bin/bash
i=0
while [ "$i" -le 10 ]
do
example.sh &
Pid[$i]=$(ps -C "example.sh" -o "pid=")
Pid[$i]=$(echo "${Pid[$i]}" | tail -n 1)
#echo "${Pid[$i]}"
i=$(($i +1))
done
for PID in "${Pid[@]}"
do
kill "$PID"
done
exit 0
我不需要当前的进程ID。我只想杀死许多可能实例中的一个实例。我认为这不会有帮助。 –
你可能不需要'$$',但另一个例子应该满足你的需求。 – suleiman
仍不确定。我有2个运行xcode的实例。我打开另一个xcode实例。如何关闭刚刚打开而不关闭其他实例的实例? –
'open'不一定推出一个新的进程。如果应用程序已经运行,则现有进程只是发送一个事件,告诉它打开文档。 (你可以用'-n'选项来覆盖它,但并不是所有的应用程序都能很好地处理多个实例,我不希望Xcode能很好地处理它。)它看起来像Xcode的AppleScript接口支持你想要做的事情。在“工作空间文档”类的文档中甚至还有一个相关示例。 –