是否$!存在於bash/shell腳本中,如果是的話,請告知它的用途。爲什麼在命令行上運行echo $!
時爲空?
4
A
回答
5
除了對方的回答跑的PID,這種回聲
echo $!
將打印空白的,如果你還沒有運行任何過程在當前shell中的背景中。如果你現在運行:
date &
echo $!
然後,它會打印出類似這樣(最後執行的後臺進程即進程ID):
47833
4
$!
是最後一個節目你的shell在後臺
+0
任何想法,它是如何得到已被殺死或完成的最後一個後臺進程的PID? – pRAShANT
+2
@pRAShANT沒有簡單的方法。您可以使用您選擇的數組類型保存所有進程的記錄,然後使用SIGCHLD陷阱處理程序在每次進程終止/終止時觸發,然後檢查哪個進程不再存在。該方法不準確,特別是如果兩個進程都同時終止。通過'/ proc','kill -s 0'等來檢查進程是否仍然存在,速度也很慢。而且我不確定通過作業控制進行的流程管理總是可行或有效的,不會錯過任何東西。 – konsolebox
0
$! - 顯示在後臺啓動的最後一個進程ID。
相關問題
- 1. shell腳本意味着
- 2. 當使用JavaScript時,某些東西是「未定義」時,這意味着什麼?
- 3. 使用Shell腳本在C程序中更改某些東西
- 4. 什麼東西::東西意味着在YII?
- 5. 子進程中`shell = True`中的`shell`是否意味着`bash`?
- 6. 當你將某些東西綁定到超時時,這意味着什麼?
- 7. 是什麼$?在shell腳本中意味着什麼?
- 8. 某些東西擊落了java腳本
- 9. Erlang中的模式[_ | _]是否意味着任何特定的東西?
- 10. 僅僅因爲某些東西有效,這是否意味着你不必重構?
- 11. 在C++和C#中,私有是否意味着不同的東西?
- 12. '$?'是什麼意味着在bash腳本?
- 13. C++:術語元素和值是否意味着相同的東西?
- 14. iOS:@ 2x - 是否意味着除了兩倍大小之外的任何東西?
- 15. PHP是否if(count($ array))和if($ array)意味着相同的東西?
- 16. '!'是否意味着perl?
- 17. <<<在shell腳本中意味着什麼?
- 18. 在shell腳本中這意味着什麼? $ {1 + 「$ @」}?
- 19. $$在Linux腳本中意味着什麼?
- 20. 在某個組件中存儲某些東西是否安全?
- 21. 什麼代碼這個shell腳本行意味着
- 22. 做這些RVM Ruby版本意味着
- 23. 如何在Java腳本中「呼叫」某些東西
- 24. !在tcsh shell中意味着什麼?
- 25. $是什麼?是否意味着在Ruby?
- 26. 是什麼;是否意味着在Ruby?
- 27. 新的URL(...)。openConnection()是否意味着POST?
- 28. 如何在Emacs中對某些東西着色?
- 29. ILOnly = 0是否意味着C++/CLI?
- 30. << - 是否意味着紅寶石?
另請參閱[什麼意思$$或$!在bash?](http://stackoverflow.com/questions/13671750/what-does-mean-or-in-bash/) – devnull
我想知道爲什麼上面downvoted(和關閉),這一個優點* upvotes *! – devnull