Linux screen簡單用法

2021-08-19 20:29:47 字數 1843 閱讀 9558

安裝:

apt install screen

常用的screen命令:

1、screen -s name  建立 名為name的 screen

2、screen -a 然後 d 暫時離開此screen 後台繼續執行

3、screen -ls 列出所有screen 程序 pid 與名稱

4、screen -r  + pid(或者名稱)回到screen(attached狀態),如果就乙個screen程序,可以省略 pid

使用:

建立screen後 進入該screen任務,然後執行程式,可以退出到shell 幹其他事了,

最主要的功能是screen不會因為斷網或者關閉ssh而結束了之前執行的程式

2014-10-29 23:03:59

如果linux系統中執行著多個screen session,想一次全部退出的話,那麼有兩種辦法,一種是乙個個的退出,一種就是批量退出。

linux中的screen命令是乙個很有用的工具,它的功能挺強大,能夠在乙個終端連線斷開以後仍然能夠保持任務的執行。

舉個例子來說,我們通過ssh遠端登入到linux伺服器上執行某個任務,

這個任務需要很長的時間才能執行完成,比如需要5個小時,而這時你碰巧要下班了,不能等程式執行完成再走,

也不能不關電腦就走。

這種場景下,screen就可以派上用場了。

1、screen -ls 列出當前系統中執行的session

下面說明,我的系統中有三個session正在執行。

[root@li402-41 ~]# screen -ls 

there are screens on: 

29486.edm__10000 (detached) 

29910.edm__20000 (detached) 

29562.edm_30000(detached)

2、結束乙個session

有兩種方法

一種是,通過screen -r pid 或者 screen -r name先進入該session中,然後exit即可

一種是,通過screen -s edm_10000 -x quit命令,不進入該session中,直接退出

當然也可以直接 kill pid的方式結束乙個session,

killall screen 結束所有的session會話

3、結束多個session

如果你的系統裡有多個session同時在執行,有沒有辦法全部退出呢?

當然,你可以乙個乙個的session退出,只是麻煩了一點。

我們也可以通過組合命令,一次全部退出

screen -ls | grep -i detached | cut -d. -f1 | tr -d [:blank:]| xargs kill

screen -ls | grep detached | cut -d. -f1 | awk 『』 | xargs kill

如果您的pid都是五位數的話

screen -ls | grep -o "[0-9]\" | xargs kill

這兩行命令的意思都差不多,通過管道,找到每個session的pid,然後作為 kill的引數,直接殺掉該程序

screen -ls : 列出所有的screen session

grep detached : 過濾出detached的session

cut -d. -f1 :用.分割,取第一部分,也就是 pid

awk和tr都是去掉前面的空白符的

xargs :就是把每一行作為 kill 的引數執行

mysql的簡單用法 mysql簡單用法

刪除使用者 drop user jack drop比delete刪除的優勢在於drop可以刪除使用者的許可權,更加徹底 更改使用者名稱 rename user jack to jacknew 使用者的都存在與user表中,更改名稱,許可權不變 更改使用者密碼 update mysql.user se...

oracle cursor 簡單用法

procedure changespecialdiscount compid in invarchar2 ccid in invarchar2 cono in invarchar2 is sum cc all number 14 4 0 wsp disc number 14 4 wspcl disc...

Oracle Trigger簡單用法

1.trigger 是自動提交的,不用commit,rollback 2.trigger最大為32k,如果有複雜的應用可以通過在trigger裡呼叫procedure或function來實現。3.語法 create or replace trigger on declare begin except...