有時(shí)我們也許會(huì)有這樣的需求:要執(zhí)行一個(gè)命令或者腳本,但是需要幾個(gè)小時(shí)甚至幾天。這就要考慮一個(gè)問(wèn)題,就是中途斷網(wǎng)或出現(xiàn)其他意外情況,執(zhí)行的任務(wù)中斷了怎么辦?你可以把命令或者腳本丟到后臺(tái)運(yùn)行,不過(guò)也不保險(xiǎn)。下面就介紹兩種方法來(lái)避免這樣的問(wèn)題發(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"
直接加一個(gè) ‘&’ 雖然丟到后臺(tái)了,但是當(dāng)退出該終端時(shí)很有可能這個(gè)腳本也會(huì)退出的,而在前面加上 nohup 就沒有問(wèn)題了,nohup的作用就是不掛斷地運(yùn)行命令。
2. screen工具的使用
簡(jiǎn)單來(lái)說(shuō),screen是一個(gè)可以在多個(gè)進(jìn)程之間多路復(fù)用一個(gè)物理終端的窗口管理器。screen中有會(huì)話的概念,用戶可以在一個(gè)screen會(huì)話中創(chuàng)建多個(gè)screen窗口,在每一個(gè)screen窗口中就像操作一個(gè)真實(shí)的SSH連接窗口那樣。下面阿銘介紹screen的一個(gè)簡(jiǎn)單應(yīng)用。
1)打開一個(gè)會(huì)話,直接輸入screen命令然后回車,進(jìn)入screen會(huì)話窗口。如果你沒有screen命令,請(qǐng)用yuminstall-yscreen安裝。
[root@localhost ~]# screen
[root@localhost ~]#
2)screen -ls 查看已經(jīng)打開的screen會(huì)話
[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會(huì)話,只是退出,并沒有結(jié)束。結(jié)束的話輸入Ctrl +d 或者輸入exit
4)退出后還想再次登錄某個(gè)screen會(huì)話,使用sreen -r [screen 編號(hào)],這個(gè)編號(hào)就是上例中那個(gè)20001。當(dāng)只有一個(gè)screen會(huì)話時(shí),后面的編號(hào)是可以省略的。當(dāng)你有某個(gè)需要長(zhǎng)時(shí)間運(yùn)行的命令或者腳本時(shí)就打開一個(gè)screen會(huì)話,然后運(yùn)行該任務(wù)。按ctrl +a 再按d退出會(huì)話,不影響終端窗口上的任何操作。
-
Linux
+關(guān)注
關(guān)注
87文章
11310瀏覽量
209612 -
Screen
+關(guān)注
關(guān)注
0文章
12瀏覽量
6760
原文標(biāo)題:screen工具使用
文章出處:【微信號(hào):aming_linux,微信公眾號(hào):阿銘linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論