真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

關(guān)于后臺(tái)啟動(dòng)命令linux的信息

linux后臺(tái)啟動(dòng)進(jìn)程

父子進(jìn)程

專(zhuān)注于為中小企業(yè)提供網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)興業(yè)免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上千余家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

在linux系統(tǒng)里面,子進(jìn)程由父進(jìn)程fork而來(lái),而所有的進(jìn)程都是由init進(jìn)程或其子進(jìn)程fork而來(lái),即init進(jìn)程是所有進(jìn)程的祖先。

父子進(jìn)程的運(yùn)行是相對(duì)獨(dú)立的,一方的退出不會(huì)導(dǎo)致另一方退出。

進(jìn)程組和會(huì)話

Session特點(diǎn)

session可以在任何時(shí)候創(chuàng)建,調(diào)用setsid函數(shù)即可,session中的第一個(gè)進(jìn)程即為session的leader,leader是不能變的。常見(jiàn)的創(chuàng)建session的場(chǎng)景是用戶登錄,啟動(dòng)bash進(jìn)程時(shí)將會(huì)創(chuàng)建新的session,bash進(jìn)程會(huì)作為session的leader,隨后bash里面運(yùn)行的進(jìn)程(不特殊處理)都將屬于這個(gè)session。

session的主要特點(diǎn)是當(dāng)session的leader退出后,session中的所有其它進(jìn)程將會(huì)收到SIGHUP信號(hào),其默認(rèn)行為是終止進(jìn)程,即session的leader退出后,session中的其它進(jìn)程也會(huì)退出。

如果session和tty關(guān)聯(lián)的話,它們之間只能一一對(duì)應(yīng),一個(gè)tty只能屬于一個(gè)session,一個(gè)session只能打開(kāi)一個(gè)tty。當(dāng)然session也可以不和任何tty關(guān)聯(lián)。

進(jìn)程的啟動(dòng)方式:

1)前臺(tái)啟動(dòng):用戶輸入命令,直接執(zhí)行程序

2)后臺(tái)啟動(dòng):在命令行尾加入“”符號(hào)

要使終端關(guān)閉時(shí)進(jìn)程不退出,有以下幾種情況:

1)用戶進(jìn)程攔截SIGHUP信號(hào)。

2)使用戶進(jìn)程和bash進(jìn)程不在一個(gè)session。

linux后臺(tái)執(zhí)行命令:和nohup的用法,確實(shí)很實(shí)用

當(dāng)我們?cè)诮K端或控制臺(tái)工作時(shí),可能不希望由于運(yùn)行一個(gè)作業(yè)而占住了屏幕,因?yàn)榭赡苓€有更重要的事情要做,比如閱讀電子郵件。對(duì)于密集訪問(wèn)磁盤(pán)的進(jìn)程,我們更希望它能夠在每天的非負(fù)荷高峰時(shí)間段運(yùn)行(例如凌晨)。為了使這些進(jìn)程能夠在后臺(tái)運(yùn)行,也就是說(shuō)不在終端屏幕上運(yùn)行,有幾種選擇方法可供使用。

:當(dāng)在前臺(tái)運(yùn)行某個(gè)作業(yè)時(shí),終端被該作業(yè)占據(jù);可以在命令后面加上 實(shí)現(xiàn)后臺(tái)運(yùn)行。例如:sh test.sh

適合在后臺(tái)運(yùn)行的命令有f i n d、費(fèi)時(shí)的排序及一些s h e l l腳本。在后臺(tái)運(yùn)行作業(yè)時(shí)要當(dāng)心:需要用戶交互的命令不要放在后臺(tái)執(zhí)行,因?yàn)檫@樣你的機(jī)器就會(huì)在那里傻等。不過(guò),作業(yè)在后臺(tái)運(yùn)行一樣會(huì)將結(jié)果輸出到屏幕上,干擾你的工作。如果放在后臺(tái)運(yùn)行的作業(yè)會(huì)產(chǎn)生大量的輸出,最好使用下面的方法把它的輸出重定向到某個(gè)文件中:

這樣,所有的標(biāo)準(zhǔn)輸出和錯(cuò)誤輸出都將被重定向到一個(gè)叫做out.file 的文件中。

PS:當(dāng)你成功地提交進(jìn)程以后,就會(huì)顯示出一個(gè)進(jìn)程號(hào),可以用它來(lái)監(jiān)控該進(jìn)程,或殺死它。(ps -ef | grep 進(jìn)程號(hào) 或者 kill -9 進(jìn)程號(hào))

nohup:使用命令后,作業(yè)被提交到后臺(tái)運(yùn)行,當(dāng)前控制臺(tái)沒(méi)有被占用,但是一但把當(dāng)前控制臺(tái)關(guān)掉(退出帳戶時(shí)),作業(yè)就會(huì)停止運(yùn)行。nohup命令可以在你退出帳戶之后繼續(xù)運(yùn)行相應(yīng)的進(jìn)程。nohup就是不掛起的意思( no hang up)。該命令的一般形式為:

如果使用nohup命令提交作業(yè),那么在缺省情況下該作業(yè)的所有輸出都被重定向到一個(gè)名為nohup.out的文件中,除非另外指定了輸出文件:

使用了nohup之后,很多人就這樣不管了,其實(shí)這樣有可能在當(dāng)前賬戶非正常退出或者結(jié)束的時(shí)候,命令還是自己結(jié)束了。所以在使用nohup命令后臺(tái)運(yùn)行命令之后,需要使用exit正常退出當(dāng)前賬戶,這樣才能保證命令一直在后臺(tái)運(yùn)行。

ctrl + z :可以將一個(gè)正在前臺(tái)執(zhí)行的命令放到后臺(tái),并且處于暫停狀態(tài)。

Ctrl+c :終止前臺(tái)命令。

jobs: 查看當(dāng)前有多少在后臺(tái)運(yùn)行的命令。 jobs -l選項(xiàng)可顯示所有任務(wù)的PID,jobs的狀態(tài)可以是running, stopped, Terminated。但是如果任務(wù)被終止了(kill),shell 從當(dāng)前的shell環(huán)境已知的列表中刪除任務(wù)的進(jìn)程標(biāo)識(shí)。

21解析:

擴(kuò)展鏈接:如何寫(xiě)高效的代碼,和代碼優(yōu)化方法

linux后臺(tái)運(yùn)行、關(guān)閉、查看后臺(tái)任務(wù)常用命令

一、

加在一個(gè)命令的最后,可以把這個(gè)命令放到后臺(tái)執(zhí)行,如:

[root@bqh-01 ~]# watch -n 3 "sh 1.sh " #每3s在后臺(tái)執(zhí)行一次 1.sh 腳本

二、ctrl + z

可以將一個(gè)正在前臺(tái)執(zhí)行的命令放到后臺(tái),并且處于暫停狀態(tài)。

三、jobs

查看當(dāng)前有多少在后臺(tái)運(yùn)行的命令

jobs -l選項(xiàng)可顯示所有任務(wù)的PID,jobs的狀態(tài)可以是running, stopped, Terminated。但是如果任務(wù)被終止了(kill),shell 從當(dāng)前的shell環(huán)境已知的列表中刪除任務(wù)的進(jìn)程標(biāo)識(shí)。

將后臺(tái)中的命令調(diào)至 前臺(tái) 繼續(xù)運(yùn)行。如果后臺(tái)中有多個(gè)命令,可以用fg %jobnumber(是命令編號(hào),不是進(jìn)程號(hào))將選中的命令調(diào)出。

五、bg

將一個(gè)在后臺(tái)暫停的命令,變成在 后臺(tái) 繼續(xù)執(zhí)行。如果后臺(tái)中有多個(gè)命令,可以用bg %jobnumber將選中的命令調(diào)出。

六、kill

****

前臺(tái)進(jìn)程的終止:Ctrl+c

****七、 nohup

如果讓程序始終在后臺(tái)執(zhí)行,即使關(guān)閉當(dāng)前的終端也執(zhí)行(之前的做不到),這時(shí)候需要nohup。該命令可以在你退出帳戶/關(guān)閉終端之后繼續(xù)運(yùn)行相應(yīng)的進(jìn)程。關(guān)閉中斷后,在另一個(gè)終端jobs已經(jīng)無(wú)法看到后臺(tái)跑得程序了,此時(shí)利用ps(進(jìn)程查看命令)

pre style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;"ps -aux | grep "1.sh" #a:顯示所有程序 u:以用戶為主的格式來(lái)顯示 x:顯示所有程序,不以終端機(jī)來(lái)區(qū)分/pre

linux系統(tǒng)下如何從后臺(tái)啟動(dòng)進(jìn)程?

你得查看后臺(tái)存在的進(jìn)程 #jobs

#fg

#bg

兩個(gè)命令是調(diào)入前臺(tái)和后臺(tái)的命令

在命令后面加上一個(gè)

比如:

rm -rf /tmp/

Linux 技巧:讓進(jìn)程在后臺(tái)可靠運(yùn)行的幾種方法

WeiboGoogle+用電子郵件發(fā)送本頁(yè)面

我們經(jīng)常會(huì)碰到這樣的問(wèn)題,用 telnet/ssh 登錄了遠(yuǎn)程的 Linux 服務(wù)器,運(yùn)行了一些耗時(shí)較長(zhǎng)的任務(wù), 結(jié)果卻由于網(wǎng)絡(luò)的不穩(wěn)定導(dǎo)致任務(wù)中途失敗。如何讓命令提交后不受本地關(guān)閉終端窗口/網(wǎng)絡(luò)斷開(kāi)連接的干擾呢?下面舉了一些例子, 您可以針對(duì)不同的場(chǎng)景選擇不同的方式來(lái)處理這個(gè)問(wèn)題。

nohup/setsid/

場(chǎng)景:

如果只是臨時(shí)有一個(gè)命令需要長(zhǎng)時(shí)間運(yùn)行,什么方法能最簡(jiǎn)便的保證它在后臺(tái)穩(wěn)定運(yùn)行呢?

hangup 名稱(chēng)的來(lái)由

在 Unix 的早期版本中,每個(gè)終端都會(huì)通過(guò) modem 和系統(tǒng)通訊。當(dāng)用戶 logout 時(shí),modem 就會(huì)掛斷(hang up)電話。 同理,當(dāng) modem 斷開(kāi)連接時(shí),就會(huì)給終端發(fā)送 hangup 信號(hào)來(lái)通知其關(guān)閉所有子進(jìn)程。

解決方法:

我們知道,當(dāng)用戶注銷(xiāo)(logout)或者網(wǎng)絡(luò)斷開(kāi)時(shí),終端會(huì)收到 HUP(hangup)信號(hào)從而關(guān)閉其所有子進(jìn)程。因此,我們的解決辦法就有兩種途徑:要么讓進(jìn)程忽略 HUP 信號(hào),要么讓進(jìn)程運(yùn)行在新的會(huì)話里從而成為不屬于此終端的子進(jìn)程。

1. nohup

nohup 無(wú)疑是我們首先想到的辦法。顧名思義,nohup 的用途就是讓提交的命令忽略 hangup 信號(hào)。讓我們先來(lái)看一下 nohup 的幫助信息:

NOHUP(1)??????????????????????? User Commands??????????????????????? NOHUP(1)?NAME???????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

可見(jiàn),nohup 的使用是十分方便的,只需在要處理的命令前加上 nohup 即可,標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤缺省會(huì)被重定向到 nohup.out 文件中。一般我們可在結(jié)尾加上""來(lái)將命令同時(shí)放入后臺(tái)運(yùn)行,也可用"filename 21"來(lái)更改缺省的重定向文件名。

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

2。setsid

nohup 無(wú)疑能通過(guò)忽略 HUP 信號(hào)來(lái)使我們的進(jìn)程避免中途被中斷,但如果我們換個(gè)角度思考,如果我們的進(jìn)程不屬于接受 HUP 信號(hào)的終端的子進(jìn)程,那么自然也就不會(huì)受到 HUP 信號(hào)的影響了。setsid 就能幫助我們做到這一點(diǎn)。讓我們先來(lái)看一下 setsid 的幫助信息:

SETSID(8)???????????????? Linux Programmer’s Manual???????????????? SETSID(8)?NAME???????setsid - run a program in a new session?SYNOPSIS???????setsid program [ arg ... ]?DESCRIPTION???????setsid runs a program in a new session.

可見(jiàn) setsid 的使用也是非常方便的,也只需在要處理的命令前加上 setsid 即可。

[root@pvcent107 ~]# setsid ping [root@pvcent107 ~]# ps -ef |grep ???? 31094???? 1? 0 07:28 ???????? 00:00:00 ping ???? 31102 29217? 0 07:29 pts/4??? 00:00:00 grep [root@pvcent107 ~]#

值得注意的是,上例中我們的進(jìn)程 ID(PID)為31094,而它的父 ID(PPID)為1(即為 init 進(jìn)程 ID),并不是當(dāng)前終端的進(jìn)程 ID。請(qǐng)將此例與nohup 例中的父 ID 做比較。

3。

這里還有一個(gè)關(guān)于 subshell 的小技巧。我們知道,將一個(gè)或多個(gè)命名包含在“()”中就能讓這些命令在子 shell 中運(yùn)行中,從而擴(kuò)展出很多有趣的功能,我們現(xiàn)在要討論的就是其中之一。

當(dāng)我們將""也放入“()”內(nèi)之后,我們就會(huì)發(fā)現(xiàn)所提交的作業(yè)并不在作業(yè)列表中,也就是說(shuō),是無(wú)法通過(guò)jobs來(lái)查看的。讓我們來(lái)看看為什么這樣就能躲過(guò) HUP 信號(hào)的影響吧。

[root@pvcent107 ~]# (ping )[root@pvcent107 ~]# ps -ef |grep ???? 16270???? 1? 0 14:13 pts/4??? 00:00:00 ping ???? 16278 15362? 0 14:13 pts/4??? 00:00:00 grep [root@pvcent107 ~]#

從上例中可以看出,新提交的進(jìn)程的父 ID(PPID)為1(init 進(jìn)程的 PID),并不是當(dāng)前終端的進(jìn)程 ID。因此并不屬于當(dāng)前終端的子進(jìn)程,從而也就不會(huì)受到當(dāng)前終端的 HUP 信號(hào)的影響了。


新聞名稱(chēng):關(guān)于后臺(tái)啟動(dòng)命令linux的信息
網(wǎng)頁(yè)地址:http://weahome.cn/article/hjoscj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部