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

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

linux后臺(tái)啟動(dòng)命令的簡(jiǎn)單介紹

Linux 標(biāo)準(zhǔn)輸入輸出、重定向、管道、文件權(quán)限、后臺(tái)啟動(dòng)進(jìn)程命令-

IO 重定向是為了改變默認(rèn)輸入、輸出的位置,如默認(rèn)情況下標(biāo)準(zhǔn)輸出(STDOUT),標(biāo)準(zhǔn)錯(cuò)誤輸出(STDERR)都是輸出到顯示終端,如對(duì)標(biāo)準(zhǔn)輸出、標(biāo)準(zhǔn)錯(cuò)誤輸出改變其默認(rèn)輸出位置,可重定向輸出到指定的文件中(實(shí)際工作中經(jīng)常這么使用),要重定向就要配合一些語(yǔ)法符號(hào)。

創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供鹿泉網(wǎng)站建設(shè)、鹿泉做網(wǎng)站、鹿泉網(wǎng)站設(shè)計(jì)、鹿泉網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、鹿泉企業(yè)網(wǎng)站模板建站服務(wù),十年鹿泉做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

文件或目錄的訪問(wèn)權(quán)限分為只讀、只寫(xiě)、可執(zhí)行三種。

修改文件權(quán)限命令:chmod、chgrp、chown。

搞懂「文件所屬者更改及權(quán)限的賦予」,涉及關(guān)于 chown、chmod、chgrp 命令,結(jié)合用例零基礎(chǔ)理解和掌握使用。

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 名稱的來(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)用戶注銷(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)的影響了。

Linux中啟動(dòng)進(jìn)程的方法有哪些?哪種更好用?

Linux手工啟動(dòng)進(jìn)程

手工啟動(dòng)進(jìn)程指的是由用戶輸入命令直接啟動(dòng)一個(gè)進(jìn)程,根據(jù)所啟動(dòng)的進(jìn)程類型和性質(zhì)不同,又細(xì)分為前臺(tái)啟動(dòng)和后臺(tái)啟動(dòng)兩種。

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

這是手工啟動(dòng)進(jìn)程最常用的方式,因?yàn)楫?dāng)時(shí)輸入一個(gè)命令并運(yùn)行,就已經(jīng)啟動(dòng)了一個(gè)進(jìn)程,而且是一個(gè)前臺(tái)的進(jìn)程,此時(shí)系統(tǒng)其實(shí)已經(jīng)處于一個(gè)多進(jìn)程的狀態(tài),一個(gè)是shell進(jìn)程,另一個(gè)是新啟動(dòng)的進(jìn)程。

實(shí)際上,系統(tǒng)自動(dòng)時(shí)就有許多進(jìn)程悄悄地在后臺(tái)運(yùn)行,不過(guò)為了方便閱讀,并沒(méi)有將這些進(jìn)程包括在內(nèi)。

假如啟動(dòng)一個(gè)比較耗時(shí)的進(jìn)程,然后再把該進(jìn)程掛起,并使用ps命令查看,就會(huì)看到該進(jìn)程在PS顯示列表中。將進(jìn)程掛起,指的是將前臺(tái)運(yùn)行的進(jìn)程放到后臺(tái),并且暫停其運(yùn)行。

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

進(jìn)程直接從后臺(tái)運(yùn)行,用的相對(duì)比較少,除非該進(jìn)程非常耗時(shí),且用戶也不急著需要其運(yùn)行結(jié)果的時(shí)候,例如,用戶需要啟動(dòng)一個(gè)需要長(zhǎng)時(shí)間運(yùn)行的格式化文本文件的進(jìn)程,為了不使整個(gè)shell在格式化過(guò)程中都處于被占用狀態(tài),從后臺(tái)啟動(dòng)這個(gè)進(jìn)程是比較明智的選擇。

從后臺(tái)啟動(dòng)進(jìn)程,其實(shí)就是在命令結(jié)尾處添加一個(gè)符號(hào)。輸入命令并運(yùn)行之后,shell會(huì)提供給我們一個(gè)數(shù)字,此數(shù)字就是該進(jìn)程的進(jìn)程號(hào)。然后直接就會(huì)出現(xiàn)提示符,用戶就可以繼續(xù)完成其他工作。

手工啟動(dòng)的2種方式,實(shí)際上它們有個(gè)共同的特點(diǎn),就是新進(jìn)程都是由當(dāng)前shell這個(gè)進(jìn)程產(chǎn)生的,換句話說(shuō),是shell創(chuàng)建了新進(jìn)程,于是稱這種關(guān)系為進(jìn)程間的父子關(guān)系,其中shell是父進(jìn)程,新進(jìn)程是子進(jìn)程。

且一個(gè)父進(jìn)程可以有多個(gè)子進(jìn)程,通常子進(jìn)程結(jié)束后才能繼續(xù)父進(jìn)程;當(dāng)然,如果是從后臺(tái)啟動(dòng),父進(jìn)程就不用等待子進(jìn)程了。

Linux調(diào)度啟動(dòng)進(jìn)程

在Linux系統(tǒng)中,任務(wù)可以被配置在指定的時(shí)間、日期或者系統(tǒng)平均負(fù)載量低于指定值時(shí)自動(dòng)啟動(dòng)。

例如,Linux預(yù)配置了重要系統(tǒng)任務(wù)的運(yùn)行,以便可以使系統(tǒng)能夠?qū)崟r(shí)被更新,系統(tǒng)管理員也可以使用自動(dòng)化的任務(wù)來(lái)定期對(duì)重要數(shù)據(jù)進(jìn)行備份。

實(shí)現(xiàn)調(diào)度啟動(dòng)進(jìn)程的方法有很多,比如通過(guò)crontab、cat等命令。

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

父子進(jì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。


網(wǎng)站名稱:linux后臺(tái)啟動(dòng)命令的簡(jiǎn)單介紹
網(wǎng)站鏈接:http://weahome.cn/article/dopghjs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部