จะทราบได้อย่างไรว่าโปรแกรมทำงานด้วย nohup หรือไม่?


3

ไม่มีความแตกต่างใน ps -ef | grep sleep ส่งออกไปยังคำสั่ง:

nohup sleep 60 &

sleep 60 &

ฉันจะค้นพบว่าโปรแกรมนั้นทำงานด้วยวิธีใด nohup?

คำตอบ:


5
  • คุณต้องรู้ 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
    
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.