我想在終端中打開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接口支持你想要做的事情。在「工作空間文檔」類的文檔中甚至還有一個相關示例。 –