酷知百科網

位置:首頁 > 遊戲數碼 > 互聯網

Linux nohup後臺執行程序

互聯網1.91W

Linux nohup後臺執行程序
需求:
存儲已滿,需要刪除過時數據
條件:
數據比較大,刪除需要很長時間,直接執行刪除命令肯定不行,因爲視窗一旦關閉,命令就死掉;那麼就讓它執行也不行,因爲這臺電腦可能有其他維護公司也會用此電腦,這也不安全。所以需要後臺執行該程序
步驟思路:
1:檢視需要刪除的數據
2:編輯刪除腳本
3:後臺執行腳本(有多個腳本,每個視窗最好只執行一個)
4:檢視執行的後臺進程
5: fg %n將後臺腳本調到前臺執行
6:驗證是否在後臺執行
7:終止後臺執行的刪除腳本

操作方法

(01)檢視需要刪除的數據[root@NAS dj]# df -h檔案系統              容量  已用 可用 已用% 掛載點/dev/sda3             192G  5.6G  177G   4% //dev/sda1             190M   12M  169M   7% /boottmpfs                 3.9G     0  3.9G   0% /dev/shm/dev/sdb1             9.0T  7.0T  1.6T  82% /var/www/html/dj/dev/sdb2              11T  9.9T  113G  99% /var/www/html/djbk需要刪除的數據:/var/www/html/dj/2012/var/www/html/djbk/2013

Linux nohup後臺執行程序
Linux nohup後臺執行程序 第2張

(02)編輯刪除腳本[root@NAS script]# cat rm_#!/bin/bashrm -rf /var/www/html/dj/2012[root@NAS script]# cat rm_#!/bin/bashrm -rf /var/www/html/djbk/2013注意:編輯完腳本後需要賦予腳本執行權限

Linux nohup後臺執行程序 第3張

(03)後臺執行腳本(有多個腳本,每個視窗最好只執行一個)[root@NAS script]# nohup ./rm_  &[root@NAS script]# nohup ./rm_  &注意:執行腳本的時候,兩個腳本不要在同一個視窗執行,如果在同一個視窗執行,下個執行命令需要等待前面一個執行完成才能執行,這種效率不是我們要的

Linux nohup後臺執行程序 第4張

(04)檢視執行的後臺進程jobs   只能檢視當前視窗的後臺進程,如果關閉了後臺執行腳本的視窗,該命令失效,這個時候就只能用到下面的命令檢視ps -ef    可以檢視主機所有執行的進程   ps -ef | grep 過濾條件

Linux nohup後臺執行程序 第5張

(05)fg %n將後臺腳本調到前臺執行fg %n  將當前後臺執行程序調到前臺執行如果執行完後臺腳本命令,當前視窗沒有關閉,可以執行jobs檢視當前視窗執行的後臺進程的進程號,再透過fg %n,將此後臺進程調到前臺執行,如果不想執行該腳本,直接ctl +c 關閉該視窗

Linux nohup後臺執行程序 第6張

(06)驗證是否在後臺執行關閉該連接工具後在開啟檢視,這時候jobs已經不能使用,只能透過以下方式檢視後臺執行的腳本是否正在執行[root@NAS script]# ps -ef | grep rmroot      2331    89  0 Nov02 ?        00:00:00 [ib_inform]root     23792     1  0 09:53 ?        00:00:00 /bin/bash ./rm_ot     23793 23792  0 09:53 ?        00:00:23 rm -rf /var/www/html/dj/2012root     23797     1  0 09:55 ?        00:00:00 /bin/bash ./rm_ot     23798 23797  0 09:55 ?        00:00:23 rm -rf /var/www/html/djbk/2013root     23998 23889  0 10:36 pts/1    00:00:00 grep rm

Linux nohup後臺執行程序 第7張

(07)終止後臺執行的刪除腳本刪除命令:kill -9  進程號注意:刪除的時候不能刪除查找查找命令,否則會照成關機

Linux nohup後臺執行程序 第8張