nohup和&后臺(tái)運(yùn)行宪卿,進(jìn)程查看及終止
1.nohup python manage.py runserver 0.0.0.0:80 >/dev/null 2>&1 &
2.ps -ef 查看正在運(yùn)行的后臺(tái)
3.kill 進(jìn)程id
1.nohup
用途:不掛斷地運(yùn)行命令戳玫。
語(yǔ)法:nohup Command [ Arg … ] [ & ]
無(wú)論是否將 nohup 命令的輸出重定向到終端,輸出都將附加到當(dāng)前目錄的 nohup.out 文件中谤碳。
如果當(dāng)前目錄的 nohup.out 文件不可寫(xiě)溃卡,輸出重定向到 $HOME/nohup.out 文件中。
如果沒(méi)有文件能創(chuàng)建或打開(kāi)以用于追加蜒简,那么 Command 參數(shù)指定的命令不可調(diào)用瘸羡。
退出狀態(tài):該命令返回下列出口值:?
126 可以查找但不能調(diào)用 Command 參數(shù)指定的命令。?
127 nohup 命令發(fā)生錯(cuò)誤或不能查找由 Command 參數(shù)指定的命令臭蚁。?
否則最铁,nohup 命令的退出狀態(tài)是 Command 參數(shù)指定命令的退出狀態(tài)。
2.&
用途:在后臺(tái)運(yùn)行
一般兩個(gè)一起用
nohup command &
eg:
1nohup /usr/local/node/bin/node /www/im/chat.js >> /usr/local/node/output.log 2>&1 &
進(jìn)程號(hào)7585
查看運(yùn)行的后臺(tái)進(jìn)程
(1)jobs -l
jobs命令只看當(dāng)前終端生效的垮兑,關(guān)閉終端后冷尉,在另一個(gè)終端jobs已經(jīng)無(wú)法看到后臺(tái)跑得程序了,此時(shí)利用ps(進(jìn)程查看命令)
(2)ps -ef?
1ps -aux|grep chat.js
a:顯示所有程序
u:以用戶(hù)為主的格式來(lái)顯示
x:顯示所有程序系枪,不以終端機(jī)來(lái)區(qū)分
注:
用ps -def | grep查找進(jìn)程很方便雀哨,最后一行總是會(huì)grep自己
用grep -v參數(shù)可以將grep命令排除掉
1ps -aux|grep chat.js| grep -v grep
再用awk提取一下進(jìn)程ID
1ps -aux|grep chat.js| grep -v grep | awk?'{print $2}'
3.如果某個(gè)進(jìn)程起不來(lái),可能是某個(gè)端口被占用
查看使用某端口的進(jìn)程
1lsof -i:8090
1netstat -ap|grep 8090
查看到進(jìn)程id之后私爷,使用netstat命令查看其占用的端口
1netstat -nap|grep 7779
使用kill殺掉進(jìn)城后再啟動(dòng)
4.終止后臺(tái)運(yùn)行的進(jìn)程