成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

講述Linux HUP信號的干擾問題

運維 系統運維
我們知道,當用戶注銷(logout)或者網絡斷開時,終端會收到Linux HUP信號(hangup)信號從而關閉其所有子進程。因此,我們的解決辦法就有兩種途徑:要么讓進程忽略Linux HUP信號,要么讓進程運行在新的會話里從而成為不屬于此終端的子進程。

在向大家詳細介紹Linux HUP信號之前,首先讓大家了解下Linux HUP信號,然后全面介紹Linux服務器X,希望對大家有用。想讓進程在斷開連接后依然保持運行?如果該進程已經開始運行了該如何補救? 如果有大量這類需求如何簡化操作?

我們經常會碰到這樣的問題,用 telnet/ssh 登錄了遠程的 Linux服務器,運行了一些耗時較長的任務, 結果卻由于網絡的不穩定導致任務中途失敗。如何讓命令提交后不受本地關閉終端窗口/網絡斷開連接的干擾呢?下面舉了一些例子, 您可以針對不同的場景選擇不同的方式來處理這個問題。

場景:
如果只是臨時有一個命令需要長時間運行,什么方法能最簡便的保證它在后臺穩定運行呢?

hangup 名稱的來由

在 Unix 的早期版本中,每個終端都會通過 modem 和系統通訊。當用戶 logout 時,modem 就會掛斷(hang up)電話。 同理,當 modem 斷開連接時,就會給終端發送 hangup 信號來通知其關閉所有子進程。 
 
解決方法:
我們知道,當用戶注銷(logout)或者網絡斷開時,終端會收到Linux HUP信號(hangup)信號從而關閉其所有子進程。因此,我們的解決辦法就有兩種途徑:要么讓進程忽略Linux HUP信號,要么讓進程運行在新的會話里從而成為不屬于此終端的子進程。

1. nohup
nohup 無疑是我們首先想到的辦法。顧名思義,nohup 的用途就是讓提交的命令忽略 hangup 信號。讓我們先來看一下 nohup 的幫助信息:
nohup(1)  User Commands  nohup(1)
nohup - run a command immune to hangups, with output to a non-tty
SYNOPSIS
nohup COMMAND [ARG]...
nohup OPTION
DESCRIPTION
Run COMMAND, ignoring hangup signals.
--help display this help and exit
--version
output version information and exit 

可見,nohup 的使用是十分方便的,只需在要處理的命令前加上 nohup 即可,標準輸出和標準錯誤缺省會被重定向到 nohup.out 文件中。一般我們可在結尾加上"&"來將命令同時放入后臺運行,也可用">filename 2>&1"來更改缺省的重定向文件名。

nohup 示例
               
[root@pvcent107 ~]# nohup ping www.ibm.com &
[1] 3059
nohup: appending output to `nohup.out'
[root@pvcent107 ~]# ps -ef |grep 3059
root      3059   984  0 21:06 pts/3    00:00:00 ping www.ibm.com
root      3067   984  0 21:06 pts/3    00:00:00 grep 3059
[root@pvcent107 ~]#  

2。setsid
nohup無疑能通過忽略Linux HUP信號 信號來使我們的進程避免中途被中斷,但如果我們換個角度思考,如果我們的進程不屬于接受Linux HUP信號的終端的子進程,那么自然也就不會受到Linux HUP信號的影響了。setsid 就能幫助我們做到這一點。讓我們先來看一下 setsid 的幫助信息:

SETSID(8)  Linux Programmer’s Manual SETSID(8)
setsid - run a program in a new session
SYNOPSIS setsid program [ arg ... ]
DESCRIPTION setsid runs a program in a new session. 
可見 setsid 的使用也是非常方便的,也只需在要處理的命令前加上 setsid 即可。

setsid 示例

[root@pvcent107 ~]# setsid ping www.ibm.com
[root@pvcent107 ~]# ps -ef |grep www.ibm.com
root     31094     1  0 07:28 ?        00:00:00 ping www.ibm.com
root     31102 29217  0 07:29 pts/4    00:00:00 grep www.ibm.com
[root@pvcent107 ~]#   
值得注意的是,上例中我們的進程 ID(PID)為31094,而它的父 ID(PPID)為1(即為 init 進程 ID),并不是當前終端的進程 ID。請將此例與nohup 例中的父 ID 做比較。

3。&
這里還有一個關于 subshell 的小技巧。我們知道,將一個或多個命名包含在“()”中就能讓這些命令在子 shell 中運行中,從而擴展出很多有趣的功能,我們現在要討論的就是其中之一。
當我們將"&"也放入“()”內之后,我們就會發現所提交的作業并不在作業列表中,也就是說,是無法通過jobs來查看的。讓我們來看看為什么這樣就能躲過Linux HUP信號的影響吧。

subshell 示例
               
[root@pvcent107 ~]# (ping www.ibm.com &)
[root@pvcent107 ~]# ps -ef |grep www.ibm.com
root     16270     1  0 14:13 pts/4    00:00:00 ping www.ibm.com
root     16278 15362  0 14:13 pts/4    00:00:00 grep www.ibm.com
[root@pvcent107 ~]#   
從上例中可以看出,新提交的進程的父 ID(PPID)為1(init 進程的 PID),并不是當前終端的進程 ID。因此并不屬于當前終端的子進程,從而也就不會受到當前終端的Linux HUP信號的影響了。

【編輯推薦】

  1. 命令手冊:Linux中的ipvsadm命令
  2. 今天你預裝Linux桌面系統了么?
  3. Linux中NMAP工具的強大功能
  4. 詳解保護Linux服務器七步驟
  5. 詳細介紹Linux進行C編譯
責任編輯:佚名 來源: CSDN
相關推薦

2011-01-11 14:11:57

inSSIDer無線網絡無線信號抗干擾

2010-09-06 10:11:44

無線信號

2009-11-24 13:53:03

SuSE Linux

2011-06-13 10:33:01

LTE網絡GPS

2009-11-23 15:57:05

SUSE Linux超

2009-12-17 17:19:45

Linux系統

2009-10-20 09:19:11

Linux kill命

2009-12-24 13:46:23

Linux驅動

2010-03-10 14:04:35

Linux端口安全

2009-10-20 10:15:01

Linux用戶管理

2009-12-18 16:44:57

ADO.NET統計

2010-03-10 17:37:48

Linux磁盤配額

2009-10-26 10:24:35

linux脫機打印命令

2009-12-18 15:28:19

Linux內核

2010-03-18 17:29:21

2009-12-24 09:47:17

Linux之父

2009-10-23 19:11:32

linux集群

2009-11-24 11:35:59

2013-04-26 16:52:11

能量脈沖無線網絡信號干擾

2009-12-17 14:11:29

Linux操作系統
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 99久9| 亚洲国产成人精品女人久久久 | 国产一二三区电影 | 欧美在线视频一区 | 精品啪啪| 国产专区在线 | 日韩一区在线观看视频 | 欧美一区二区三区在线免费观看 | 9久9久9久女女女九九九一九 | 国产亚洲精品区 | 欧美亚洲日本 | 欧美久久久网站 | 国产成人a亚洲精品 | 狠狠干美女 | 国产视频一区二区 | 日韩久久成人 | 欧美亚洲另类丝袜综合网动图 | 国产美女久久 | 成人免费看电影 | 国产1区| 九九热热九九 | 国产精品综合久久 | 国产精品欧美大片 | 欧美国产激情二区三区 | 亚洲国产精品视频一区 | 狠狠干狠狠插 | 亚洲小视频在线播放 | 久久精品视频免费看 | av中文在线 | 成人伊人网 | 亚洲一区在线日韩在线深爱 | 欧美亚洲视频在线观看 | 综合久久久 | 有码一区| 国产综合在线视频 | 国产精品一区二区三区在线 | 91极品尤物在线播放国产 | 99精品电影 | 日日摸夜夜爽人人添av | 农村真人裸体丰满少妇毛片 | 中文字幕一区在线观看视频 |