回答
變量'$$'包含PID。
使用$BASHPID
或$$
更多信息,請參見manual,包括兩者之間的差異。
您可以使用$$
變量。
PID存儲在$$
。例如:kill -9 $$
將終止它從中調用的shell實例。
'kill -9'(帶有「-9」標誌)被認爲是是有害的,只有在絕對必要時才能使用)。 – 2015-09-15 15:01:34
它被認爲是「危險的」,因爲這個過程沒有機會對信號作出反應(並且可能在自身之後進行清理)。做'kill -9 $$'只會做1件事。它殺死了**當前的shell進程**。如果你在shell會話中做了一些你不想寫入'.bash_history'的東西,這很有用。例如:'docker run -e PASSWORD = hunter2 ircbot' – 2017-10-19 04:05:26
除了通過Jefromi引用的Advanced Bash Scripting Guide給出的例子,這些例子表明管道如何創建子shell:
$ echo $$ $BASHPID | cat -
11656 31528
$ echo $$ $BASHPID
11656 11656
$ echo $$ | while read line; do echo $line $$ $BASHPID; done
11656 11656 31497
$ while read line; do echo $line $$ $BASHPID; done <<< $$
11656 11656 11656
你能解釋一下「<<<」是什麼意思?謝謝。 – 2014-03-29 20:27:14
它將一個字符串重定向到循環中(或讀取「stdin」的任何內容)。該字符串被稱爲「這裏字符串」。 – 2014-03-29 21:29:57
- 1. 腳本如何在bash中知道他自己的名字?
- 2. 想知道PID腳本
- 3. 如何寫我自己的bash腳本?
- 4. 如何在BASH 2.05腳本中獲取管道命令的PID?
- 5. 如何知道Bash腳本中的腳本文件名?
- 6. 如何當PID知道
- 7. 的Perl未能殺死自己的pid從bash腳本運行時
- 8. 編輯自己的Bash腳本
- 9. UITableViewCell如何知道自己的indexPath?
- 10. bash腳本來監視我自己
- 11. 我如何知道bash kill是否會使用pid或jobspec?
- 12. 如何讓我的BASH腳本知道保存的路徑
- 13. 如何知道bash腳本中的哪一行導致麻煩?
- 14. 多叉()的。主要如何知道pid?
- 15. (Firefox)WebExtension如何知道它自己的版本?
- 16. Bash腳本 - 如何知道一個程序已經終止
- 17. 如何知道bash腳本是否正在運行nohup?
- 18. BASH腳本,環境變量和PID
- 19. Bash腳本運行兩個pid
- 20. Bash如何從PID得到完整的腳本名稱
- 21. 如何知道USB設備「HID」和「PID」
- 22. 如何使用我自己的腳本
- 23. bash腳本和管道
- 24. 運行管道bash腳本
- 25. bash腳本如何知道它在何時被安裝的目錄。運營商?
- 26. 如何知道腳本加載
- 27. 如何知道腳本停在哪裏?
- 28. 的Linux的bash知道腳本路徑,其中包括庫腳本
- 29. 自動Bash腳本
- 30. 自daemonizing bash腳本
請注意,$$和BASHPID並不總是同樣的事情 - 手動提到這裏有一個更具體的例子:http:區別可能非常重要,因爲許多bash構造都在子殼中運行。 – Cascabel 2010-03-22 16:00:07
@Jefromi - 指出。這是我與手冊相關的原因之一。 – tvanfosson 2010-03-22 16:14:42
需要注意的是'BASHPID'是BASH 4的新增功能。如果您使用的是BASH 3.x,則必須使用'$$' – 2017-10-19 03:59:22