深入了解nohup

2021-09-23 19:02:44 字數 3812 閱讀 6493

原始出處 、作者資訊和本宣告。否則將追究法律責任。

昨日寫了一篇關於「nohup後台執行程式」文章(修復「正確操作nohup讓程式始終在後台執行」中已發現的問題

),今天幫助開發人員具體解決了乙個問題。

註解:dump為研發人員開發的程式;

test.sh為測試nohup的指令碼,指令碼內容見20行-35行。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

[root@ce340 gliver]# killall dump

[root@ce340 gliver]# ps -c test.sh

pid tty          time cmd

15711 pts/000:00:00test.sh

[root@ce340 gliver]# killall test.sh

[1]+  terminatednohup./test.sh >/dev/null2>&1

[root@ce340 gliver]# nohup ./test.sh >/dev/null 2>&1 &

[1] 18531

[root@ce340 gliver]# ps -c test.sh

pid tty          time cmd

18531 pts/000:00:00test.sh

19603 pts/000:00:00test.sh

[root@ce340 gliver]# ps -c dump

pid tty          time cmd

17722 pts/000:00:05 dump

[root@ce340 gliver]# killall dump

[root@ce340 gliver]# ps -c dump

pid tty          time cmd

20837 pts/000:00:00 dump

[root@ce340 gliver]# cat ./test.sh

#!/bin/bash

while:

do

if[[ ! `ps-ef |grepdump |grep-vgrep` ]];then

echo"down"

#log to file

echo"the deamon down at  $(date)">>/home/user/desktop/gliver/dump.log

su-l -c"nohup /home/user/desktop/gliver/dump rtmp: >/dev/null 2>&1 &"

# start time

if[[ ! `ps-ef |grepdump |grep-vgrep` ]];then

echo"the deamon start at  $(date)">>/home/user/desktop/gliver/dump.log

fi

fi

usleep 1000

done

[root@ce340 gliver]#

總結:當執行nohup時,並不是建立乙個當前程序的父程序,而是nohup能讓後面緊跟的命令忽略 hangup 訊號,通過忽略hup訊號來避免程序中途被中斷,正如執行pstree -npu或ps -ef的第三列展示的那樣。

其次nohup後面緊跟程序名,如果程序名所指向的程序接受引數,則程序名後面跟著的引數將傳入程序名所指向的程序,否則將被丟棄,但重定向似乎是個例外,重定向不僅會作用於nohup本身又能作用於程序名指向的程序。

ps:一旦使用nohup,就不能使用「kill -hup pid」,而是要使用「killall 程序名稱」殺死程序。

本文出自 「通訊,我的最愛」 部落格,請務必保留此出處

深入了解nohup

昨日寫了一篇關於 nohup後台執行程式 文章 修復 正確操作nohup讓程式始終在後台執行 中已發現的問題 今天幫助開發人員具體解決了乙個問題。註解 dump為研發人員開發的程式 test.sh為測試nohup的指令碼,指令碼內容見20行 35行。root ce340 gliver killall...

深入了解A

一 前言 在這裡我將對a 演算法的實際應用進行一定的 並且舉乙個有關a 演算法在最短路徑搜尋的例子。值得注意的是這裡並不對a 的基本的概念作介紹,如果你還對a 演算法不清楚的話,請看姊妹篇 初識a 演算法 這裡所舉的例子是參考amit主頁中的乙個源程式,使用這個源程式時,應該遵守一定的公約。二 a ...

深入了解A

一 前言 在這裡我將對a 演算法的實際應用進行一定的 並且舉乙個有關a 演算法在最短路徑搜尋的例子。值得注意的是這裡並不對a 的基本的概念作介紹,如果你還對a 演算法不清楚的話,請看姊妹篇 初識a 演算法 這裡所舉的例子是參考amit主頁中的乙個源程式,使用這個源程式時,應該遵守一定的公約。二 a ...