將shell腳本正確的放在后臺運行方式
1.1 將shell腳本放在后臺運行的方式
這個有很多種方式哈,可以百度。
我常用以下兩種
####### 我常用的兩種 & # 放在后臺運行,但要注意了,不能是中文的哈。 nohup # 放在后臺運行,會生成nohup.out文件,但我們可以不讓其有這個文件 ####### 我現(xiàn)在這樣用 nohup 配合 & 使用,這樣就不用在意&符號是中文導致出問題了
1.2 &不是英文導致的大事故[模擬]
這里以iptables為例,當然我是在測試環(huán)境哈。我的iptables才安裝好,我想把filter表的OUTPUT鏈的默認政策(policy)修改成DROP,我在總結iptables這個東東。
我就是想看看有什么效果。
當前ipitables中filter表的狀態(tài),如下:
我修改的一個思路,我還給自己留了后路的哈
寫個腳本,腳本后臺運行
- A:把filter表中OUTPUT的默認政策修改成DROP,我不進行保存
- B:sleep 60 # 等待60秒,在這期間我就可以看到效果了
- C:重啟iptables防火墻,我之前是沒有保存的哈,重啟就會失效。
編寫腳本,并后臺執(zhí)行腳本,這里用&符號,我這里專門把&符號寫成了中文
######################################## 腳本內容 [root@vm7-121 tools]# [root@vm7-121 tools]# cat a.sh #!/bin/bash # ### iptables add rules iptables -t filter -P OUTPUT DROP ### sleep sleep 120 ### restart iptables service systemctl restart iptables ######################################## 后臺執(zhí)行腳本,用&符號,我專門把&符號寫成了中文 [root@vm7-121 tools]# sh a.sh & [1] 5603 # 這個時候,當前xshell的連接肯定是會卡住的,最終會斷開 ######################################## 本地服務器(Vmware Workstation上的虛擬機)上查看
1.3 nohup配合&來使用,就不怕了
還是以iptables為例,還是以1.2章節(jié)的a.sh腳本為例。
用nohup配合&來讓腳本后臺運行
[root@vm7-121 tools]# nohup sh a.sh >/dev/null 2>&1 & [1] 5813 # 當前的xshell連接肯定是會斷開的
本地服務器上進行查看
時間過了120秒后,再到本地服務器上進行查看
那么在120秒后,我的xshell又可以連接服務器了
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
shell腳本監(jiān)控系統(tǒng)負載、CPU和內存使用情況
這篇文章主要介紹了shell腳本監(jiān)控系統(tǒng)負載、CPU和內存使用情況,本文分別給出監(jiān)控服務器系統(tǒng)負載情況、監(jiān)控系統(tǒng)cpu使用情況、、監(jiān)控系統(tǒng)內存情況、監(jiān)控系統(tǒng)交換分區(qū)swap使用情況的腳本,需要的朋友可以參考下2014-12-12