1. linux系統下如何從後台啟動進程
你得查看後台存在的進程 #jobs
#fg
#bg
兩個命令是調入前台和後台的命令
在命令後面加上一個 &
比如:
rm -rf /tmp/ &
2. Linux啟動進程的命令
linux啟動進程的命令可以用sh,python ,./文件名。
下面是有關進程的操作:
1.查進程
ps命令查找與進程相關的PID號:
ps a 顯示現行終端機下的所有程序,包括其他用戶的程序。
ps -A 顯示所有程序。
ps c 列出程序時,顯示每個程序真正的指令名稱,而不包含路徑,參數或常駐服務的標示。
ps -e 此參數的效果和指定"A"參數相同。
ps e 列出程序時,顯示每個程序所使用的環境變數。
ps f 用ASCII字元顯示樹狀結構,表達程序間的相互關系。
ps -H 顯示樹狀結構,表示程序間的相互關系。
ps -N 顯示所有的程序,除了執行ps指令終端機下的程序之外。
ps s 採用程序信號的格式顯示程序狀況。
ps S 列出程序時,包括已中斷的子程序資料。
ps -t<終端機編號> 指定終端機編號,並列出屬於該終端機的程序的狀況。
ps u 以用戶為主的格式來顯示程序狀況。
ps x 顯示所有程序,不以終端機來區分。
最常用的方法是ps aux,然後再通過管道使用grep命令過濾查找特定的進程,然後再對特定的進程進行操作。
ps aux | grep program_filter_word,ps -ef |grep tomcat
ps -ef|grep java|grep -v grep 顯示出所有的java進程,去處掉當前的grep進程。
2.殺進程
使用kill命令結束進程:kill xxx
常用:kill -9 324
Linux下還提供了一個killall命令,可以直接使用進程的名字而不是進程標識號,例如:# killall -9 NAME
1. 更改檔案擁有者
命令 : chown [-cfhvR] [--help] [--version] user[:group] file...
功能 : 更改文件或者文件夾的擁有者
參數格式 :
user : 新的檔案擁有者的使用者 IDgroup : 新的檔案擁有者的使用者群體(group)
-c : 若該檔案擁有者確實已經更改,才顯示其更改動作
-f : 若該檔案擁有者無法被更改也不要顯示錯誤訊息
-h : 只對於連結(link)進行變更,而非該 link 真正指向的檔案
-v : 顯示擁有者變更的詳細資料
-R : 對目前目錄下的所有檔案與子目錄進行相同的擁有者變更(即以遞回的方式逐個變更)
例如:chown -R oracle:oinstall /oracle/u01/app/oracle
更改目錄擁有者為oracle
2. 修改許可權
命令:chmod (change mode)
功能:改變文件的讀寫和執行許可權。有符號法和八進制數字法。
選項:(1)符號法:
命令格式:chmod {u|g|o|a}{+|-|=}{r|w|x} filename
u (user) 表示用戶本人。
g (group) 表示同組用戶。
o (oher) 表示其他用戶。
a (all) 表示所有用戶。
+ 用於給予指定用戶的許可許可權。
- 用於取消指定用戶的許可許可權。
= 將所許可的許可權賦給文件。
r (read) 讀許可,表示可以拷貝該文件或目錄的內容。
w (write) 寫許可,表示可以修改該文件或目錄的內容。
x (execute)執行許可,表示可以執行該文件或進入目錄。
(2)八進制數字法:
命令格式:chmod abc file
其中a,b,c各為一個八進制數字,分別表示User、Group、及Other的許可權。
4 (100) 表示可讀。
2 (010) 表示可寫。
1 (001) 表示可執行。
若要rwx屬性則4+2+1=7;
若要rw-屬性則4+2=6;
若要r-x屬性則4+1=5。
例如:# chmod a+rx filename
讓所有用戶可以讀和執行文件filename。
# chmod go-rx filename
取消同組和其他用戶的讀和執行文件filename的許可權。
# chmod 741 filename
讓本人可讀寫執行、同組用戶可讀、其他用戶可執行文件filename。
# chmod -R 755 /home/oracle
遞歸更改目錄許可權,本人可讀寫執行、同組用戶可讀可執行、其他用戶可讀可執行
3. 修改文件日期
命令:touch
格式:touch filenae
功能:改變文件的日期,不對文件的內容做改動,若文件不存在則建立新文件。
例如:% touch file
4. 鏈接文件
命令:ln (link)
格式:ln [option] filename linkname
ln [option] directory pathname
功能:為文件或目錄建立一個鏈。其中,filename和directory是源文件名和
源目錄名;linkname和pathname分別表示與源文件或源目錄名相鏈接的
文件或目錄。
選項:-s 為文件或目錄建立符號鏈接。不加-s表示為文件或目錄建立硬鏈接
注釋:鏈接的目地在於,對一個文件或目錄賦予兩個以上的名字,使其可以出
現在不同的目錄中,既可以使文件或目錄共享,又可以節省磁碟空間。
例如:% ln -s filename linkname
5. 顯示日期
命令:date
例如:% date
6. 顯示日歷
命令:cal (calendar)
格式:cal [month] year
功能:顯示某年內指定的日歷
例如:% cal 1998
7. 顯示文件頭部
命令:head
格式:head [option] filename
功能:顯示文件的頭部
選項:預設 顯示文件的頭10行。
-i 顯示文件的開始 i行。
例如:% head filename
8. 顯示文件尾部
命令:tail
格式:tail [option] filename
功能:顯示文件的尾部
選項:預設 顯示文件的末10行。
-i 顯示文件最後 i行。
+i 從文件的第i行開始顯示。
例如:% tail filename
9. 顯示用戶標識
命令:id
格式:id [option] [user]
功能:顯示用戶標識及用戶所屬的所有組。
選項:-a 顯示用戶名、用戶標識及用戶所屬的所有組
注釋:
例如:% id username
10. 查看當前登錄的用戶
命令:users
11. 顯示都誰登錄到機器上
命令:who
格式:who
功能:顯示當前正在系統中的所有用戶名字,使用終端設備號,注冊時間。
例如:% who
12. 顯示當前終端上的用戶名
命令:whoami
格式:whoami
功能:顯示出當前終端上使用的用戶。
例如:% whoami
13. 尋找文件
命令:find
格式:find pathname [option] expression
功能:在所給的路經名下尋找符合表達式相匹配的文件。
選項:-name 表示文件名
-user 用戶名,選取該用戶所屬的文件
-size 按大小查找,以block為單位,一個block是512B
-mtime n 按最後一次修改時間查找,選取n天內被修改的文件
-perm 按許可權查找
-type 按文件類型查找
-atime 按最後一次訪問時間查找
例如:% find ./ -name '*abc*' -print
14. 搜索文件中匹配符
命令:grep
格式:grep [option] pattern filenames
功能:逐行搜索所指定的文件或標准輸入,並顯示匹配模式的每一行。
選項:-i 匹配時忽略大小寫
-v 找出模式失配的行
例如:% grep -i 'java*' ./test/run.sh
15. 統計文件字數
命令:wc [option] filename
功能:統計文件中的文件行數、字數和字元數。
選項:-l 統計文件的行數
-w 統計文件的單詞數
-c 統計文件的字元數
注釋:若預設文件名則指標准輸入
例如:% wc -c ./test/run.sh
3. 如何查看linux進程啟動方式
1、查看進程「打開」的文件 (方法1):
1)pidof programe-name(獲得想了解的進程(programe-name)的PID)
或ps -aux|grep programe-name(獲得想了解的進程(programe-name)的PID)
找出進程的PID
2)cd /proc/$PID/fd(會看見文件描述符)
3)ls -l 得到文件描述符指向的實際文件,即當前進程打開的文件
2、查看進程「打開」的文件 (方法2):
1)獲得想了解的進程的PID方法同上
2)lsof -c programe-name
或lsof -p $PID
4. linux中進程的三種啟動方式
不知道你要求的啟動方式是從什麼角度說。通常可以用rc[0-3].d下加自動啟動腳步,或者用用戶登錄直接運行進程,或者在運行進程後面加「&」符號。
5. Linux中啟動進程的方法有哪些哪種更好用
啟動進程有手動啟動和調度啟動兩種方法, 其中調度啟動常用的命令為at、batch和crontab.,好用不好用我覺得都差不多~ 調度啟動吧!希賽資料庫里有的噢
6. linux 怎麼查看某個進程的啟動命令
1、查看進程「打開」的文件 (方法1):1)pidof programe-name(獲得想了解的進程(programe-name)的PID)或ps -aux|grep programe-name(獲得想了解的進程(programe-name)的PID)找出進程的PID2)cd /proc/$PID/fd(會看見文件描述符)3)ls -l 得到文件描述符指向的實際文件,即當前進程打開的文件2、查看進程「打開」的文件 (方法2):1)獲得想了解的進程的PID方法同上2)lsof -c programe-name或lsof -p $PID
7. linux系統下如何從後台啟動進程.
你得查看後台存在的進程 #jobs
#fg
#bg
兩個命令是調入前台和後台的命令
在命令後面加上一個 &
比如:
rm -rf /tmp/ &
linux 技巧:讓進程在後台可靠運行的幾種方法
weibogoogle+用電子郵件發送本頁面
我們經常會碰到這樣的問題,用 telnet/ssh 登錄了遠程的 linux 伺服器,運行了一些耗時較長的任務, 結果卻由於網路的不穩定導致任務中途失敗。如何讓命令提交後不受本地關閉終端窗口/網路斷開連接的干擾呢?下面舉了一些例子, 您可以針對不同的場景選擇不同的方式來處理這個問題。
8. Linux啟動進程的方法有哪些
有手動啟動和調度啟動兩種方法,其中調度啟動常用的命令為at、batch和crontab. 希賽里看來的資料,希望對你有幫助!
9. linux 怎麼把進程啟動到後台
一、在Linux中,如果要讓進程在後台運行,一般情況下,我們在命令後面加上&即可,實際上,這樣是將命令放入到一個作業隊列中了:
$ ./test.sh & [1] 17208 $ jobs -l [1]+ 17208 Running ./test.sh &
二、對於已經在前台執行的命令,也可以重新放到後台執行,首先按ctrl+z暫停已經運行的進程,然後使用bg命令將停止的作業放到後台運行:
$ ./test.sh [1]+ Stopped ./test.sh $ bg %1 [1]+ ./test.sh & $ jobs -l [1]+ 22794 Running ./test.sh &
三、但是如上方到後台執行的進程,其父進程還是當前終端shell的進程,而一旦父進程退出,則會發送hangup信號給所有子進程,子進程收到hangup以後也會退出。如果我們要在退出shell的時候繼續運行進程,則需要使用nohup忽略hangup信號,或者setsid將將父進程設為init進程(進程號為1)
$ echo $$ 21734 $ nohup ./test.sh & [1] 29016 $ ps -ef | grep test 515 29710 21734 0 11:47 pts/12 00:00:00 /bin/sh ./test.sh 515 29713 21734 0 11:47 pts/12 00:00:00 grep test
$ setsid ./test.sh & [1] 409 $ ps -ef | grep test 515 410 1 0 11:49 ? 00:00:00 /bin/sh ./test.sh 515 413 21734 0 11:49 pts/12 00:00:00 grep test
四、上面的試驗演示了使用nohup/setsid加上&使進程在後台運行,同時不受當前shell退出的影響。那麼對於已經在後台運行的進程,該怎麼辦呢?可以使用disown命令:
$ ./test.sh & [1] 2539 $ jobs -l [1]+ 2539 Running ./test.sh & $ disown -h %1 $ ps -ef | grep test 515 410 1 0 11:49 ? 00:00:00 /bin/sh ./test.sh 515 2542 21734 0 11:52 pts/12 00:00:00 grep test
五、另外還有一種方法,即使將進程在一個subshell中執行,其實這和setsid異曲同工。方法很簡單,將命令用括弧() 括起來即可:
$ (./test.sh &) $ ps -ef | grep test 515 410 1 0 11:49 ? 00:00:00 /bin/sh ./test.sh 515 12483 21734 0 11:59 pts/12 00:00:00 grep test
註:本文試驗環境為Red Hat Enterprise Linux AS release 4 (Nahant Update 5),shell為/bin/bash,不同的OS和shell可能命令有些不一樣。例如AIX的ksh,沒有disown,但是可以使用nohup -p PID來獲得disown同樣的效果。
六、還有一種更加強大的方式是使用screen,首先創建一個斷開模式的虛擬終端,然後用-r選項重新連接這個虛擬終端,在其中執行的任何命令,都能達到nohup的效果,這在有多個命令需要在後台連續執行的時候比較方便:
$ screen -dmS screen_test $ screen -list There is a screen on: 27963.screen_test (Detached) 1 Socket in /tmp/uscreens/S-jiangfeng. $ screen -r screen_test