nohup xxxxxx & <-- 最後要加 & 代表打入背景
kevet@c-110:~/ConSurf$ nohup python2.6 1_parsepdb_557_consider_whole_chains_case_heavy_bu_normal.py 1BGA_A Y &
[1] 14576
kevet@c-110:~/ConSurf$ nohup: appending output to `nohup.out'
kevet@c-110:~/ConSurf$ ps -fC python2.6
UID PID PPID C STIME TTY TIME CMD
kevet 14576 14500 99 13:43 pts/0 00:09:14 python2.6 1_parsepdb_557_consider_whole_chains_case_heavy_bu_normal.py 1BGA_A Y
kevet@c-110:~/ConSurf$ top
top - 13:52:41 up 42 days, 11:16, 1 user, load average: 0.99, 0.90, 0.53
Tasks: 108 total, 2 running, 106 sleeping, 0 stopped, 0 zombie
Cpu(s): 22.4% us, 2.6% sy, 0.0% ni, 74.9% id, 0.0% wa, 0.0% hi, 0.0% si
Mem: 8168684k total, 4400976k used, 3767708k free, 12k buffers
Swap: 16008732k total, 4748k used, 16003984k free, 3938400k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
14576 kevet 40 0 380m 269m 4056 R 99.9 3.4 9:28.52 python2.6
14642 kevet 40 0 9488 1192 904 R 0.3 0.0 0:00.01 top
1 root 40 0 4880 560 520 S 0.0 0.0 0:16.17 init.orig
nohup (no hang up,不要掛斷)。當使用者利用 ssh 等指令或軟體登入主機後,想要執行某個指令,但一旦登出或關掉 ssh 軟體,那個在背景執行的工作會跟著消失,主要原因是它的父行程被關閉了,也就是使用者剛剛關閉的 bash,那怎麼辦?nohup 可以為您強制保存背景工作,即便父行程被關閉,以下為示範
bang@linuxdiary:~$ nohup sleep 500 &此時關閉 shell,重新登入
[1] 8544
bang@linuxdiary:~$ nohup: appending output to `nohup.out'
bang@linuxdiary:~$ ps -fC sleep (用 ps 查詢正在用 sleep 命令執行的行程)
UID PID PPID C STIME TTY TIME CMD
root 8544 8014 0 16:41 pts/1 00:00:00 sleep 500
bang@linuxdiary:~$ ps -fC sleep
UID PID PPID C STIME TTY TIME CMD
root 8544 1 0 16:42 pts/1 00:00:00 sleep 500
會發現它還存在著,但 PPID 變為 1,亦即父行程被指派為 init,這個背景工作不會再受父行程關閉而關閉影響,因為如果想關閉 init,那就關機吧。
screen -ls 顯示目前個人所有的 screen
screen -r 就是重新回到(resume)screen 裡 ex: % screen -r 1188
kevet@c-120:~/dataset2$ screen rar_static a hssp.rar ./hssp &
[1] 6321
kevet@c-120:~/dataset2$ [screen is terminating]
kevet@c-120:~/dataset2$ man
What manual page do you want?
[1]+ Done screen rar_static a hssp.rar ./hssp
在啟動process時,在前面加上screen指令
screen S mm /usr/local/kaillerasrv-0.86/kaillerasrv &
-S 後面加的字是用來分辨那個 process用的,在範例中是叫做"mm",
到時要把畫面叫回來時會用到
最後面加的就是你要跑的process名稱
最後面加的就是你要跑的process名稱
最後別忘了加個 "&", 讓它放到背景執行
當你要把畫面叫回來時
當你要把畫面叫回來時
screen -r mm
這個 "mm" 就是之前定的名稱
沒有留言:
張貼留言