2017-03-20 44 views
0

我有一個運行在用戶名gitlab-+下的gitlab進程。我想殺掉用戶的所有進程。用戶名中的pkill通配符

當我嘗試:

pkill -9 -u gitlab-+ 

它回來了無效的用戶名。我試圖

pkill -9 -u gitlab* with the same result. How can I specify a wildcard in the `-u` argument for `pkill` 

回答

0

我不認爲你可以在pkill的有效用戶ID標誌使用野生字符在...貌似只有UID或usrnames的昏迷分隔列表。 您可能能夠解決此問題的是這樣:

pkill -9 -u $(awk -F: '/^gitlab.*/ {printf("%s,",$1)}' < /etc/passwd) 
+0

我看到最後一個「,」沒有任何背後它使一團糟......你將不得不刪除它否則你會殺死不需要的東西 pkill -9 -u $(awk -F:'/^gitlab.*/{printf(「%s,」,$ 1)}' louigi600

0

您可以使用用戶ID殺死進程。 通過運行獲取用戶ID即用戶的唯一整數:

id <username> 

,然後通過使用相同的命令殺死所有的處理中,使用用戶ID即整數代替用戶名。

希望這會有所幫助。