欧美一区2区三区4区公司二百,国产精品婷婷午夜在线观看,自拍偷拍亚洲精品,国产美女诱惑一区二区

歡迎來到夢飛科技

系統配置

當前優惠活動:

killall,pidof和pkill呼吁的區別

總結1 :只管制止利用 killall、pgrep 、ps | xargs kill 的方法

總計2 :只管利用 pidof 可能 pidof | xargs kill 的組合來取代上面的幾個呼吁

泛泛各人 kill 歷程,大概習慣利用如下的方法

1

killall bt_uinfo_memcached

1

ps -C bt_uinfo_memcached --format='pid' --noheaders | xargs kill

大部門環境下這個都是可以正常事情的,但我們來看一下下面的這個呼吁


[email protected]:~

root 8765 23103 0 14:13 pts/2 00:00:00 grep --color=auto bt_uinfo_memcached

root 26195 1 0 12:43 ? 00:00:32 ./bt_uinfo_memcached -p 20211 -u root -l 0.0.0.0 -m 3072 -d

root 26236 1 0 12:43 ? 00:00:30 ./bt_uinfo_memcached -p 20311 -u root -l 0.0.0.0 -m 3072 -d

root 26586 1 1 12:43 ? 00:01:15 ./bt_uinfo_memcached -p 20411 -u root -l 0.0.0.0 -m 3072 -d

[email protected]:~


[email protected]:~

bt_uinfo_memcached: no process found

[email protected]:~

killall 呼吁竟然找不到 bt_uinfo_memcached 歷程? 上面 ps 呼吁是列出來了的 。換 pkill 試試,照舊不可


[email protected]:~

[email protected]:~

[email protected]:~

root 17723 23103 0 14:19 pts/2 00:00:00 grep --color=auto bt_uinfo_memcached

root 26195 1 0 12:43 ? 00:00:36 ./bt_uinfo_memcached -p 20211 -u root -l 0.0.0.0 -m 3072 -d

root 26236 1 0 12:43 ? 00:00:34 ./bt_uinfo_memcached -p 20311 -u root -l 0.0.0.0 -m 3072 -d

root 26586 1 1 12:43 ? 00:01:22 ./bt_uinfo_memcached -p 20411 -u root -l 0.0.0.0 -m 3072 -d

[email protected]:~

甚至連 ps 也有問題,當 -C(command) 選項的參數值高出15個字符時,實際上是會匹配到其他的歷程


[email protected]:~$ ps -C bt_uinfo_memcachecd

PID TTY TIME CMD

26195 ? 00:01:44 bt_uinfo_memcac

26236 ? 00:01:41 bt_uinfo_memcac

26586 ? 00:03:23 bt_uinfo_memcac

[email protected]:~$ ps -C bt_uinfo_memcachecd123456

PID TTY TIME CMD

26195 ? 00:01:44 bt_uinfo_memcac

26236 ? 00:01:41 bt_uinfo_memcac

26586 ? 00:03:23 bt_uinfo_memcac

[email protected]:~$

為什么會這樣呢? 通過 strace 呼吁可以找到原因


[email protected]:~

open("/proc/31713/status", O_RDONLY) = 4

open("/proc/31713/cmdline", O_RDONLY) = 4

open("/proc/31716/status", O_RDONLY) = 4

open("/proc/31716/cmdline", O_RDONLY) = 4

open("/proc/31717/status", O_RDONLY) = 4

open("/proc/31717/cmdline", O_RDONLY) = 4

open("/proc/31720/status", O_RDONLY) = 4

open("/proc/31720/cmdline", O_RDONLY) = 4

open("/proc/31721/status", O_RDONLY) = 4

open("/proc/31721/cmdline", O_RDONLY) = 4

[email protected]:~

pkill 呼吁查抄的是 /proc/ 下面的 pid 目次的 cmdline 文件和 status 文件。我們找個中一個 bt_uinfo_memcached 歷程 ( 26195 ) 看一下,


[email protected]:~

./bt_uinfo_memcached -p 20211 -u root -l 0.0.0.0 -m 3072 -d [email protected]:~

[email protected]:~

[email protected]:~

Name: bt_uinfo_memcac

State: S (sleeping)

.....

可以看到 cmdline 是記錄完整呼吁行的 (pgrep 默認是部門匹配),而 status 這個文件內里的 Name 字段的值是 bt_uinfo_memcac 而不是 bt_uinfo_memcached ,也就是被截斷了(15個字符,OS 的限制) !!!
固然 cmdline 文件內里記錄的呼吁是正確的,但我預計 pgrep 會比擬 cmdline 第一個字段和 status 文件的 Name 字段的值是否溝通,假如差異則跳過,所以固然 cmdline 是對的,,但 pkill 并不殺死該歷程
下面再來看 killall 呼吁的


[email protected]:~$ strace -e trace=file killall bt_uinfo_memcached 2>&1 | grep open | tail

open("/proc/31705/stat", O_RDONLY) = 3

open("/proc/31708/stat", O_RDONLY) = 3

open("/proc/31709/stat", O_RDONLY) = 3

open("/proc/31712/stat", O_RDONLY) = 3

open("/proc/31713/stat", O_RDONLY) = 3

open("/proc/31716/stat", O_RDONLY) = 3

open("/proc/31717/stat", O_RDONLY) = 3

open("/proc/31720/stat", O_RDONLY) = 3

open("/proc/31721/stat", O_RDONLY) = 3

open("/proc/32553/stat", O_RDONLY) = 3

[email protected]:~$

夢飛科技 - 全球數據中心基礎服務領先供應商

Copyright © 2003-2019 MFISP.COM. 國外服務器租用 IDC公司 版權所有 ? 粵ICP備11019662號

主站蜘蛛池模板: 恭城| 乌什县| 诸城市| 商南县| 洪雅县| 崇礼县| 贵德县| 资中县| 旬阳县| 色达县| 商城县| 高安市| 左云县| 怀远县| 五家渠市| 中西区| 资溪县| 昌宁县| 额济纳旗| 清水河县| 民乐县| 法库县| 富顺县| 故城县| 蒙阴县| 兴仁县| 疏附县| 安泽县| 铅山县| 汝阳县| 南部县| 天水市| 大同县| 嘉义市| 肥乡县| 嘉荫县| 竹北市| 小金县| 邻水| 长沙县| 和龙市|