国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

Linux nohup命令:后臺命令脫離終端運行

2024-08-27 23:56:38
字體:
來源:轉載
供稿:網友
在前面章節中,我們一直在說進程可以放到后臺運行,這里的后臺,其實指的是當前登陸終端的后臺。這種情況下,當我們以遠程管理服務器的方式,在遠程終端執行后臺命令,如果在命令尚未執行完畢時就退出登陸,那么這個后臺命令還會繼續執行嗎?

當然不會,此命令的執行會被中斷。這就引出一個問題,如果我們確實需要在遠程終端執行某些后臺命令,該如何執行呢?有以下 3 種方法:
  1. 把需要在后臺執行的命令加入 /etc/rc.local 文件,讓系統在啟動時執行這個后臺程序。這種方法的問題是,服務器是不能隨便重啟的,如果有臨時后臺任務,就不能執行了。
  2. 使用系統定時任務,讓系統在指定的時間執行某個后臺命令。這樣放入后臺的命令與終端無關,是不依賴登錄終端的。
  3. 使用 nohup 命令。

本節重點講解 nohup 命令的用法。nohup 命令的作用就是讓后臺工作在離開操作終端時,也能夠正確地在后臺執行。此命令的基本格式如下:

[root@localhost ~]# nohup [命令] &

注意,這里的‘&’表示此命令會在終端后臺工作;反之,如果沒有‘&’,則表示此命令會在終端前臺工作。

例如:

[root@localhost ~]# nohup find / -print > /root/file.log &
[3] 2349
#使用find命令,打印/下的所有文件。放入后臺執行
[root@localhost ~]# nohup:忽略輸入并把輸出追加到"nohup.out"
[root@localhost ~]# nohup:忽略輸入并把輸出追加到"nohup.out"
#有提示信息

接下來的操作要迅速,否則 find 命令就會執行結束。然后我們可以退出登錄,重新登錄之后,執行“ps aux”命令,會發現 find 命令還在運行。

如果 find 命令執行太快,我們就可以寫一個循環腳本,然后使用 nohup 命令執行。例如:

[root@localhost ~]# vi for.sh
#!/bin/bash
for ((i=0;i<=1000;i=i+1))
#循環1000次
do
echo 11 >> /root/for.log
#在for.log文件中寫入11
sleep 10s
#每次循環睡眠10秒
done
[root@localhost ~]# chmod 755 for.sh
[root@localhost ~]# nohup /root/for.sh &
[1] 2478
[root@localhost ~]# nohup:忽略輸入并把輸出追加到"nohup.out"
#執行腳本

接下來退出登錄,重新登錄之后,這個腳本仍然可以通過“ps aux”命令看到。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黄龙县| 平谷区| 天水市| 大城县| 阿克陶县| 罗山县| 西青区| 大邑县| 上思县| 修武县| 密云县| 石家庄市| 舞钢市| 元氏县| 舞阳县| 冕宁县| 昌宁县| 延长县| 江山市| 盘山县| 东安县| 安达市| 克什克腾旗| 乐业县| 涡阳县| 繁峙县| 合山市| 营口市| 承德县| 宁德市| 光山县| 夏邑县| 开化县| 建平县| 普宁市| 晋江市| 晴隆县| 沭阳县| 扬中市| 罗甸县| 错那县|