ไม่มีความแตกต่างใน ps -ef | grep sleep
ส่งออกไปยังคำสั่ง:
nohup sleep 60 &
sleep 60 &
ฉันจะค้นพบว่าโปรแกรมนั้นทำงานด้วยวิธีใด nohup
?
ไม่มีความแตกต่างใน ps -ef | grep sleep
ส่งออกไปยังคำสั่ง:
nohup sleep 60 &
sleep 60 &
ฉันจะค้นพบว่าโปรแกรมนั้นทำงานด้วยวิธีใด nohup
?
คำตอบ:
คุณต้องรู้ pid ของกระบวนการที่คุณต้องการดู คุณสามารถใช้ได้ pgrep
หรือ jobs -l
:
jobs -l
[1]- 3730 Running sleep 1000 &
[2]+ 3734 Running nohup sleep 1000 &
ที่จริงแล้วนี่อาจบอกคำตอบให้คุณแล้วเว้นแต่คุณจะออกจากระบบและลงชื่อเข้าใช้อีกครั้ง jobs -l
จะไม่แสดงอะไรเลย)
ลองดูที่ /proc/<pid>/fd
. กระบวนการเริ่มต้นด้วย nohup
จะแสดงรายการ nohup.out
ไฟล์:
mvp@linux:~$ ls -l /proc/3734/fd
total 0
l-wx------ 1 mvp mvp 64 Oct 29 02:32 0 -> /dev/null
l-wx------ 1 mvp mvp 64 Oct 29 02:32 1 -> /home/mvp/nohup.out
l-wx------ 1 mvp mvp 64 Oct 29 02:32 2 -> /home/mvp/nohup.out
และเริ่มโดยไม่ต้อง nohup
จะไม่:
mvp@linux:~$ ls -l /proc/3730/fd
total 0
lrwx------ 1 mvp mvp 64 Oct 29 02:28 0 -> /dev/pts/1
lrwx------ 1 mvp mvp 64 Oct 29 02:28 1 -> /dev/pts/1
lrwx------ 1 mvp mvp 64 Oct 29 02:28 2 -> /dev/pts/1