我想在linux中獲得最後一個/最新的進程pid。任何人都可以提示我找到那個命令?但我不知道哪個過程最後開始。獲取linux中的最後一個(最新)進程pid
回答
更新:感謝威廉關於awk的暗示。
前提條件:該流程仍有待運行。
我不是UNIX專家,但我想到了以下方法:
ps aux --sort +start_time | tail -n 4 | awk 'NR==1{print $2}'
ps
將列出所有的進程,我們要通過START_TIME對它們進行排序。之後我們將從輸出的最後一行[0]中取第四個,awk將返回在第二個字段中找到的pid。
[email protected] ~ % sleep 10 &
[1] 3009
[email protected] ~ % ps aux --sort +start_time | tail -n 4 | awk 'NR==1{print $2 " " $11}'
3009 sleep
[email protected] ~ %
[0]第四行,因爲在我的命令行3個管道命令。
不需要「頭」。改爲使用'awk'NR == 1 {...}'。 –
這裏有一個巨大的競爭條件,這往往不會產生有意義的結果。 –
是......我已經使用meisterluk技術,並根據我的要求更改了命令。 – advishnuprasad
如果你想要最近執行的後臺命令的進程ID,你可以使用!變量。例如:
> gvim text.txt &
> echo $!
2842
獲取PID
:
#!/bin/bash
my-app & echo $!
保存PID
變量:
#!/bin/bash
my-app & export APP_PID=$!
保存所有實例PID
在文本文件中:
#!/bin/bash
my-app & echo $! >>/tmp/my-app.pid
保存輸出,錯誤和PID
在分隔的文件:
#!/bin/bash
my-app >/tmp/my-app.log 2>/tmp/my-app.error.log & echo $! >>/tmp/my-app.pid
echo "my-app PID's: $(cat /tmp/my-app.pid)"
- 1. 最後一個pid進程linux
- 2. linux - 獲取進程的pid
- 3. 獲取後臺gnome-terminal進程的pid
- 4. 從Parse.com獲取最後一個/最新的對象
- 5. 獲取SSAS立方體上最後一個進程的輸出
- 6. 如何獲取一個進程在Bash中的另一個進程的PID?
- 7. 從內核linux中獲取pid的完整進程路徑
- 8. 獲取線程中的第一個和最後一個職位
- 9. 從子進程獲取PID
- 10. 從C++應用程序中確定最後一個背景pid
- 11. 如何獲得一個進程的PID?
- 12. linux在內核中從pid獲取進程名稱
- 13. 在zsh中獲取進程的pid
- 14. 從列表中獲取最新/最後一項,升序
- 15. 獲取最後一個Java日期/日曆的最後日期
- 16. 在MongoDB中獲取最後一個對象的最佳方式
- 17. 最後一個字符獲取的EditText
- 18. 獲取的最後一個記錄
- 19. 獲取元素的最後一個ID
- 20. 獲取SortedDictionary的最後一個元素
- 21. 獲取最後一個插入的ID
- 22. 獲取最後一個不同的行?
- 23. 獲取最後一個可用的URL
- 24. 獲取行的最後一個元素
- 25. Linux中的pid進程名稱
- 26. 獲取每個作業的最後進程並識別狀態
- 27. 如何在PHP中獲取後臺進程的PID?
- 28. 通過他的PID分析一個進程Linux內核編程
- 29. 獲得最後一道工序PID Makefile中
- 30. 獲取最後一行PER
你想知道所謂的最後一道工序,並始終運行或最後一個過程被殺? –
也許不是一個理想的答案,但這是我在SuperUser上找到的:http://superuser.com/questions/250066/the-easiest-method-to-get-the-pid-of-last-process。 –
在大多數情況下,系統中的最後一個過程將是您開始瞭解最後一個過程的過程。也許你需要一個更好定義的概念,最後 –