国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

kill 進(jìn)程時(shí)遇到的一件有意思的事情

這篇具有很好參考價(jià)值的文章主要介紹了kill 進(jìn)程時(shí)遇到的一件有意思的事情。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

1.案例現(xiàn)象

一般來(lái)講,我們?cè)?kill 掉一個(gè)進(jìn)程的時(shí)候通常有兩個(gè)選擇:

  1. 找到進(jìn)程的 pid 號(hào),然后執(zhí)行 kill 命令
  2. 找到進(jìn)程的名字,然后執(zhí)行 pkill 命令

pkill 和 kill 命令都是向指定的進(jìn)程發(fā)送信號(hào),從而完成終結(jié)進(jìn)程的操作,主要區(qū)別在于 pkill 命令與 pgrep 配套使用,能夠踢出指定終端用戶、同時(shí)根據(jù) UID 和用戶名來(lái)終止進(jìn)程

今天給大家分享一件我在使用 pkill 命令時(shí)遇到的比較有意思的事情

這臺(tái)機(jī)器上(Cent OS7)運(yùn)行著一個(gè)進(jìn)程 after_sleep60s_output

[root@localhost ~]# ps -ef | grep [a]fter
root      49146  48933  0 09:39 pts/0    00:00:00 /usr/local/bin/after_sleep60s_output

執(zhí)行 pkill 命令

[root@localhost ~]# pkill after_sleep60s_output

然后當(dāng)我使用 ps 命令查看的時(shí)候,我發(fā)現(xiàn)這個(gè)進(jìn)程還在,而且返回了狀態(tài)碼 1

[root@localhost ~]# echo $?
1

用 kill 命令試試,發(fā)現(xiàn)成功了

[root@localhost ~]# kill 49146

奇怪?為什么用 pkill 命令 kill 不掉這個(gè)進(jìn)程?

2.定位問(wèn)題

通過(guò) man pkill 我發(fā)現(xiàn),pkill 命令是默認(rèn)結(jié)合 pgrep 來(lái)使用的

pgrep 首先找出目標(biāo)進(jìn)程(running),然后 pkill 再根據(jù) pgrep 的結(jié)果來(lái) kill 目標(biāo)進(jìn)程

pgrep looks through the currently running processes and lists the process IDs which match the selection criteria to stdout. All the criteria have to match. For example,

? $ pgrep -u root sshd

will only list the processes called sshd AND owned by root. On the other hand,

? $ pgrep -u root,daemon

will list the processes owned by root OR daemon.

pkill will send the specified signal (by default SIGTERM) to each process instead of listing them on stdout.

pgrep 找目標(biāo)進(jìn)程是通過(guò)獲取 /proc/[pid]/stat 文件中的進(jìn)程名來(lái)實(shí)現(xiàn)的,但是這個(gè)文件中的進(jìn)程名是有長(zhǎng)度限制的——只有15個(gè)字符

Linux 中的每一個(gè)進(jìn)程都維護(hù)了一個(gè) struct_task_struct 結(jié)構(gòu)體,這個(gè)結(jié)構(gòu)體在/usr/src/kernels/內(nèi)核版本/include/linux/sched.h里面

這里面有一個(gè)字段定義了不包括路徑的可執(zhí)行文件的名字,最大長(zhǎng)度是 16 bytes,除去最后一個(gè)留給 null 的,就只有最多 15 個(gè)字符

/* Task command name length */
#define TASK_COMM_LEN 16
 char comm[TASK_COMM_LEN]; /* executable name excluding path
                              - access with [gs]et_task_comm (which lock
                                   it with task_lock())
                              - initialized normally by setup_new_exec */

然后我們看一下上面例子中進(jìn)程對(duì)應(yīng)的 stat 文件

[root@localhost ~]# cat /proc/49146/stat
49212 (after_sleep60s_) S 48933 49212 48933 3 .....

可以看到文件里面的進(jìn)程名字被截?cái)喑闪?5個(gè)字符:after_sleep60s_

如果要使用 pkill 命令,正確方式如下:

[root@localhost ~]# pkill after_sleep60s_

你也可以加一個(gè) -f 參數(shù)

[root@localhost ~]# pkill -f after_sleep60s_output

這個(gè)參數(shù)會(huì)告訴 pkill 不去/proc/[pid]/stat 文件找進(jìn)程,而是去 /proc/[pid]/cmdline

里面找

這個(gè)文件里面包含了進(jìn)程啟動(dòng)的時(shí)候的完整命令,包括參數(shù)

[root@localhost ~]# /proc/49146/cmdline
/usr/local/nginx/sbin/after_sleep60s_output

3.解決問(wèn)題

想要準(zhǔn)確的 kill 掉一個(gè)進(jìn)程,可以使用下面的方法:

  • pidof 命令獲取到進(jìn)程對(duì)應(yīng)的 PID,再使用 kill 命令
  • 使用 systemd 啟動(dòng)的,通過(guò) systemctl 命令來(lái)控制
  • 使用 pkill 命令的時(shí)候建議加上 -f 參數(shù)

最后附上相關(guān) issue 鏈接:

1、https://stackoverflow.com/questions/23534263/what-is-the-maximum-allowed-limit-on-the-length-of-a-process-name文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-409493.html

到了這里,關(guān)于kill 進(jìn)程時(shí)遇到的一件有意思的事情的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 分享一組有意思的按鈕設(shè)計(jì)

    分享一組有意思的按鈕設(shè)計(jì)

    先上效果圖: 一共16個(gè),每個(gè)都有自己不同的樣式和效果,可以用在自己的項(xiàng)目中,提升客戶體驗(yàn)~ 再上代碼:

    2024年02月04日
    瀏覽(30)
  • 漲姿勢(shì)了,有意思的氣泡 Loading 效果

    漲姿勢(shì)了,有意思的氣泡 Loading 效果

    今日,群友提問(wèn),如何實(shí)現(xiàn)這么一個(gè) Loading 效果: 這個(gè)確實(shí)有點(diǎn)意思,但是這是 CSS 能夠完成的? 沒(méi)錯(cuò),這個(gè)效果中的核心氣泡效果,其實(shí)借助 CSS 中的濾鏡,能夠比較輕松的實(shí)現(xiàn),就是所需的元素可能多點(diǎn)。參考我們之前的: 使用純 CSS 實(shí)現(xiàn)超酷炫的粘性氣泡效果 巧用 C

    2023年04月13日
    瀏覽(22)
  • 【動(dòng)畫進(jìn)階】有意思的網(wǎng)格下落漸次加載效果

    【動(dòng)畫進(jìn)階】有意思的網(wǎng)格下落漸次加載效果

    最近,群友貼了一個(gè)非常有意思的動(dòng)畫效果,整體動(dòng)畫效果如下: 點(diǎn)擊某個(gè)按鈕后,觸發(fā)一個(gè)動(dòng)畫效果,原本的網(wǎng)格內(nèi)容,將按順序(又帶點(diǎn)隨機(jī)的效果)從高處下落進(jìn)行加載填充動(dòng)畫。 當(dāng)然,我個(gè)人認(rèn)為這個(gè)動(dòng)畫有點(diǎn)華而不實(shí),主要體現(xiàn)在這個(gè)動(dòng)畫一次需要耗費(fèi)較長(zhǎng)時(shí)間

    2024年02月16日
    瀏覽(31)
  • 分享一個(gè)有意思的文字飛入動(dòng)畫(模仿水滴融合)

    分享一個(gè)有意思的文字飛入動(dòng)畫(模仿水滴融合)

    先上效果圖: 代碼如下:

    2024年02月01日
    瀏覽(30)
  • 【動(dòng)畫進(jìn)階】有意思的 Emoji 3D 表情切換效果

    【動(dòng)畫進(jìn)階】有意思的 Emoji 3D 表情切換效果

    最近,群里面的同學(xué)發(fā)了這么一個(gè)非常有意思是動(dòng)畫效果: 原效果地址 -- CodePen Demo -- Letter Hop 當(dāng)然,原效果,主要使用了 GSAP 動(dòng)畫庫(kù)以及一個(gè) 3D 文字 JavaScript 庫(kù): 但是,這個(gè)效果,其實(shí)本身并不復(fù)雜。 本文,我們將不借助任何動(dòng)畫庫(kù),嘗試用最簡(jiǎn)單的 CSS 和 JavaScript 代碼還

    2024年02月14日
    瀏覽(24)
  • 第五期:字符串的一些有意思的操作

    第五期:字符串的一些有意思的操作

    PS:每道題解題方法不唯一,歡迎討論!每道題后都有解析幫助你分析做題,答案在最下面,關(guān)注博主每天持續(xù)更新。 1. 替換空格 題目描述 請(qǐng)實(shí)現(xiàn)一個(gè)函數(shù),把字符串 s 中的每個(gè)空格替換成\\\"%20\\\"。 示例1: 輸入:s = “We are happy.” 輸出:“We%20are%20happy.” 示例2: 輸入:s =

    2024年02月08日
    瀏覽(89)
  • 有意思!一個(gè)關(guān)于 Spring 歷史的在線小游戲

    有意思!一個(gè)關(guān)于 Spring 歷史的在線小游戲

    發(fā)現(xiàn) Spring One 的官網(wǎng)上有個(gè)好玩的彩蛋,分享給大家! 進(jìn)到Spring One的官網(wǎng),可以看到右下角有個(gè)類似馬里奧游戲中的金幣圖標(biāo)。 點(diǎn)擊該金幣之后,會(huì)打開一個(gè)新的頁(yè)面,進(jìn)入下面這樣一個(gè)名為:The History Of Spring 的在線小游戲 你可以使用上下左右的方向鍵來(lái)控制Spring的Logo一

    2024年04月27日
    瀏覽(24)
  • vue有意思的圖片動(dòng)畫插件direction-reveal

    vue有意思的圖片動(dòng)畫插件direction-reveal

    功能:操作簡(jiǎn)單好上頭,動(dòng)畫特效很絲滑,有很多種供選擇 導(dǎo)入到需要使用動(dòng)畫的單頁(yè)面 使用樣式 導(dǎo)入css,如果用到了scss就導(dǎo)入scss,用的css就導(dǎo)入.css文件 https://github.com/NigelOToole/direction-reveal 文章到此結(jié)束,希望對(duì)你有所幫助~

    2024年02月12日
    瀏覽(22)
  • 有意思,我的GitHub賬號(hào)值$23806.2,快來(lái)試試你的?

    有意思,我的GitHub賬號(hào)值$23806.2,快來(lái)試試你的?

    睡不著,看到一個(gè)有意思的網(wǎng)站: Estimate Github Worth Generator 。 它可以用來(lái)估算 GitHub 賬號(hào)的價(jià)值。馬上試了一下。 我的賬號(hào)估值: $23806.2 操作很簡(jiǎn)單,點(diǎn)擊Estimate Github Worth Generator,進(jìn)入網(wǎng)站。 具體如下圖: 在唯一的輸入框中,輸入您的GitHub賬號(hào),點(diǎn)擊按鈕 Generate Worth 按鈕

    2024年02月04日
    瀏覽(26)
  • 碼出高效_第一章 | 有意思的二進(jìn)制表示及運(yùn)算

    碼出高效_第一章 | 有意思的二進(jìn)制表示及運(yùn)算

    設(shè)想有8條電路,每條電路有高電平和低電平兩種狀態(tài),即就有2 8 =256種不同的信號(hào)。假設(shè)其表示區(qū)間為0~255,最大數(shù)即2 8 -1。 那么32條電路能夠表示最大數(shù)為(2 32 -1)=4294967295,即所謂的32位電路信號(hào)。 正負(fù)數(shù)表示: 上面的8條電路,最左側(cè)一條表示正負(fù):0-整數(shù),1-負(fù)數(shù),不

    2024年02月06日
    瀏覽(19)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包