有時我們也許會有這樣的需求:要執(zhí)行一個命令或者腳本,但是需要幾個小時甚至幾天。這就要考慮一個問題,就是中途斷網(wǎng)或出現(xiàn)其他意外情況,執(zhí)行的任務(wù)中斷了怎么辦?你可以把命令或者腳本丟到后臺運行,不過也不保險。下面就介紹兩種方法來避免這樣的問題發(fā)生。
1. 使用nohup
[root@localhost ~]# cat /usr/local/sbin/sleep.sh
#! /bin/bash
sleep 1000
[root@localhost ~]# nohup sh /usr/local/sbin/sleep.sh &
[1] 19997
[root@localhost ~]# nohup: 忽略輸入并把輸出追加到"nohup.out"
直接加一個 ‘&’ 雖然丟到后臺了,但是當(dāng)退出該終端時很有可能這個腳本也會退出的,而在前面加上 nohup 就沒有問題了,nohup的作用就是不掛斷地運行命令。
2. screen工具的使用
簡單來說,screen是一個可以在多個進程之間多路復(fù)用一個物理終端的窗口管理器。screen中有會話的概念,用戶可以在一個screen會話中創(chuàng)建多個screen窗口,在每一個screen窗口中就像操作一個真實的SSH連接窗口那樣。下面阿銘介紹screen的一個簡單應(yīng)用。
1)打開一個會話,直接輸入screen命令然后回車,進入screen會話窗口。如果你沒有screen命令,請用yuminstall-yscreen安裝。
[root@localhost ~]# screen
[root@localhost ~]#
2)screen -ls 查看已經(jīng)打開的screen會話
[root@localhost ~]# screen -ls
There is a screen on:
20001.pts-0.localhost (Attached)
1 Socket in /var/run/screen/S-root.
3)Ctrl +a 再按d退出該screen會話,只是退出,并沒有結(jié)束。結(jié)束的話輸入Ctrl +d 或者輸入exit
4)退出后還想再次登錄某個screen會話,使用sreen -r [screen 編號],這個編號就是上例中那個20001。當(dāng)只有一個screen會話時,后面的編號是可以省略的。當(dāng)你有某個需要長時間運行的命令或者腳本時就打開一個screen會話,然后運行該任務(wù)。按ctrl +a 再按d退出會話,不影響終端窗口上的任何操作。
-
Linux
+關(guān)注
關(guān)注
87文章
11469瀏覽量
212904 -
Screen
+關(guān)注
關(guān)注
0文章
12瀏覽量
6897
原文標題:screen工具使用
文章出處:【微信號:aming_linux,微信公眾號:阿銘linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
兩種方法教你如何有效地利用51單片機產(chǎn)生PWM波

用兩種方法解決電路設(shè)計問題
討論Linux系統(tǒng)中設(shè)置開機自動運行的兩種方法
UCOSII中如何運用延時來控制步進電機的步數(shù)?
STM32操作矩陣鍵盤的兩種方法
1.3 兩種運行 Python 程序方法
AODV協(xié)議中解決斷鏈問題的兩種方法

創(chuàng)建主/從SPI接口的兩種方法詳談

使用jdbc連接上oracle的兩種方法
AVR單片機在電機轉(zhuǎn)速測量中兩種方法總結(jié)

STM32操作矩陣鍵盤的兩種方法——掃描和中斷

簡述安裝打印機驅(qū)動的兩種方法

評論