日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux普通用户发送信号,Linux信号发送与作业控制

發(fā)布時間:2023/12/10 linux 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux普通用户发送信号,Linux信号发送与作业控制 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前言

Linux中進程間通信又稱為IPC(Inter process communication),大致上可以分為這么幾類:消息隊列(message queue),旗語(semerpore),共享內(nèi)存(shared memory),信號(signal),Unix域套接字,socket等。

一、信號發(fā)送

signal用來向進程傳遞微小的信息。

顯示可用信號:kill?-l

man?7?signal

1.kill命令

格式:kill?[-SIGNAL]?PID

SIGNAL:(1) 信號的完整名稱,例如SIGHUP、SIGINT、SIGKILL、SIGTERM、SIGCONT、SIGSTOP

(2) 信號簡稱:HUP、KILL

(3) 信號數(shù)據(jù)標識:1,2, ...

SIGHUP:1, 讓進程重讀配置文件中的信息,而無須重啟進程;

SIGINT:2, interrupt,打斷正在運行中進程;相當于Ctrl+c

SIGKILL: 9, 強行中止正在運行的進程

SIGTERM:15, 優(yōu)雅關(guān)閉正在運行的進程 SIGSTOP:19, 暫停進程

SIGCONT: 18,繼續(xù)暫停進程

實例:[root@young?~]#?ps?aux|grep?httpd

root??????56893??1.0??0.1?226128??5056??????????Ss???21:47???0:00?/usr/sbin/httpd?-DFOREGROUND

apache????56894??0.0??0.1?228212??3120??????????S????21:47???0:00?/usr/sbin/httpd?-DFOREGROUND

apache????56895??0.0??0.1?228212??3120??????????S????21:47???0:00?/usr/sbin/httpd?-DFOREGROUND

apache????56896??0.0??0.1?228212??3120??????????S????21:47???0:00?/usr/sbin/httpd?-DFOREGROUND

apache????56897??0.0??0.1?228212??3120??????????S????21:47???0:00?/usr/sbin/httpd?-DFOREGROUND

apache????56898??0.0??0.1?228212??3120??????????S????21:47???0:00?/usr/sbin/httpd?-DFOREGROUND

root??????56966??0.0??0.0?112644???948?pts/0????R+???21:47???0:00?grep?--color=auto?httpd

[root@young?~]#?kill?-1?56893?#讓httpd重讀其配置文件

2.killall命令

按命令名字發(fā)送信號。

格式:killall?[-SIGNAL]?COMMAND

實例:[root@young?~]#?killall?-15?httpd

[root@young?~]#?ps?aux|grep?httpd

root??????61513??0.0??0.0?112644???952?pts/0????R+???21:55???0:00?grep?--color=auto?httpd

[root@young?~]#

3.pkill命令

pkill 和killall 應(yīng)用方法差不多,也是直接殺死運行中的程序;如果您想殺掉單個進程,請用kill 來殺掉。

格式:pkill?[options]?pattern

常用選項:-SIGNAL

-u?uid:?effective?user,生效者

-U?uid:?real?user,真正發(fā)起運行命令者

-t?terminal:?與指定終端相關(guān)的進程

-P?pid:?顯示父進程為此處指定的進程的進程列表

實例:[root@young?~]#?pkill?httpd

[root@CentOS?~]#?pkill?-U?apache

二、Linux作業(yè)控制

1.系統(tǒng)job作業(yè)

(1)job種類:前臺作業(yè)(foregroud):通過終端啟動,且啟動后會一直占據(jù)終端;

后臺作業(yè)(backgroud):可以通過終端啟動,但啟動后即轉(zhuǎn)入后臺運行(釋放終端);

(2)讓作業(yè)運行于后臺

1) 運行中的作業(yè):Ctrl+z

送往后臺后,作業(yè)會轉(zhuǎn)為停止態(tài);相當于發(fā)送kill -19信號

2) 尚未啟動的作業(yè):# COMMAND &

此類作業(yè)雖然被送往后臺,但其依然與終端相關(guān);如果希望把送往后臺的作業(yè)剝離與終端的關(guān)系:# nohup COMMAND &

實例:[root@CentOS?~]#?nohup?yes?&

[1]?8444

[root@CentOS?~]#?nohup:?ignoring?input?and?appending?output?to?`nohup.out'

(3)查看所有的作業(yè):#jobs命令

實例:[root@young?~]#?jobs?-l??#?-l選項顯示進程PID

[1]+?23602?Running?????????????????nohup?yes?&

+/- 表示優(yōu)先級;當調(diào)用時不加作業(yè)號會默認調(diào)用+的命令[root@young?~]#?jobs?-l

[1]??79973?Running?????????????????sleep?100?&

[2]??80066?Running?????????????????sleep?200?&

[3]-?80255?Running?????????????????sleep?300?&

[4]+?80414?Running?????????????????sleep?400?&

[root@young?~]#?fg

sleep?400

(4)可實現(xiàn)作業(yè)控制的常用命令:#fg??[[%]JOB_NUM]:把指定的作業(yè)調(diào)回前臺;

#bg??[[%]JOB_NUM]:讓送往后臺的作業(yè)在后臺繼續(xù)運行;

#kill??%JOB_NUM:終止指定的作業(yè);

實例:[root@young?~]#?sleep?100?&

[1]?72535

[root@young?~]#?fg?1

sleep?100

^Z?????#crtl+z放到后臺掛起

[1]+??Stopped?????????????????sleep?100

[root@young?~]#?jobs?-l

[1]+?72535?Stopped?????????????????sleep?100

[root@young?~]#?bg?%1

[1]+?sleep?100?&

[root@young?~]#?jobs

[1]+??Running?????????????????sleep?100?&

[root@young?~]#?kill?%1

[root@young?~]#?jobs

[1]+??Terminated??????????????sleep?100

小貼士:同時運行多個進程方法(提高效率)1)vi?all.sh

f1.sh&

f2.sh&

f3.sh&

2)(f1.sh&);(f2.sh&);(f3.sh&)

3){?f1.sh&?f2.sh&?f3.sh&?}

三、進程優(yōu)先級調(diào)整:nice, renice

靜態(tài)優(yōu)先級:100-139

進程默認啟動時的nice值為0,優(yōu)先級為120

只有root用戶才能降低nice值(提高優(yōu)先性),普通用戶只能提高自己的nice值(降低優(yōu)先級)

一般使用者僅可調(diào)整自己程序的 Nice 值,且范圍僅為 0 ~ 19 (避免一般用戶搶占系統(tǒng)資源);

nice調(diào)整范圍: -20, 19

注:值越低優(yōu)先級越高

(1) 以指定的nice值啟動一個進程:nice?-n?#?COMMAND

實例:[root@young?~]#?nice?-n?-16?top&

[root@young?~]#?ps?axo?ni,comm|grep?top

-16?top

(2) 調(diào)整運行中的進程的nice值:renice?-n?#?PID

實例:[root@young?~]#?renice?-n?10?89822

89822?(process?ID)?old?priority?-16,?new?priority?10

[root@young?~]#?ps?axo?ni,comm|grep?top

10?top

注意:普通用戶僅有權(quán)限調(diào)大nice值;

總結(jié)

以上是生活随笔為你收集整理的linux普通用户发送信号,Linux信号发送与作业控制的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。