Ubuntu'daki süreçleri nasıl öldürebilirim?

129

Kök dışı hesabım tarafından çalıştırılan tüm işlemleri nasıl öldürebilirim?

Windows makinemden kaynaklanan bazı iplik smoksi süreçlerim var ve bu yüzden linux sunucusuna telkinledim ve bu eğirme süreçlerini öldürmek istiyorum. Hizmetleri yeniden başlatmaya veya makineyi yeniden başlatmaya yetkim yok.

    
sordu djangofan 17.02.2012 00:49

13 cevap

156

Öldürme iznine sahip olduğunuz tüm işlemleri öldürmek için

komutunu çalıştırmanız yeterlidir. İstenen davranışa bağlı olarak

kill -15 -1 veya kill -9 -1 (ayrıntılar için man kill kullanın)

Belirli bir işlemi öldürmek için, firefox’u söyle, basitçe

İstediğiniz davranışa göre

pkill firefox veya killall firefox : Nelerdir? 'killall' ve 'pkill' arasındaki fark?

Hangi işlemlerin çalıştığını görmek istiyorsanız,

komutunu kullanın.
ps -ef

Tüm işlemleri kullanıcı bob'larına bakmak istiyorsanız, bu yardımcı olabilir

pgrep -l -u bob

veya

ps -ef | grep bob
    
verilen cevap ste_kwr 17.02.2012 00:58
46

sudo kill <pid> veya sudo killall <process-name>

kullanın     
verilen cevap Chris Wayne 17.02.2012 00:50
19

Daha fazla bir şey deneyelim:

sudo apt-get install htop 

top komutu, sisteminizin kaynak kullanımını görüntülemenin geleneksel yoludur ve çoğu sistem kaynağını alan süreçleri görür. Top, en üstte en fazla CPU kullananlarla birlikte işlemlerin bir listesini görüntüler.

htop , aynı bilgileri anlaşılması kolay bir düzende görüntüler. Ayrıca, ok tuşlarıyla işlemleri seçmenizi ve F tuşlarını kullanarak onları öldürme ya da önceliklerini değiştirme gibi işlemleri gerçekleştirmenizi sağlar.

    
verilen cevap Fantomas 12.01.2014 05:41
14

kullanabilirsiniz

ps -ax | grep application name 

ps -ax | grep firefox gibi terminalde firefox tipi aramanız, ilgili uygulamanın işlem kimliğini gösterir. İşlem kimliği = 1317 ise, bu uygulamayı kill komutuna göre durdurabilirsiniz,

kill -9 1317
    
verilen cevap Xman Classical 22.07.2014 08:21
12

xkill değerini kullanırdım. Bir terminalde xkill değerini girin ve pencereye tıklayın veya xkill ve işlem kimliğini girin ve sonlandırılacak.

x.org adresinde xkill hakkında daha fazla bilgi edinin.

    
verilen cevap Alvar 27.12.2013 22:36
7

% co_de kullanıcısı tarafından sahip olunan tüm işlemleri öldürmeyi denemek için şunu çalıştırın:

pkill -U username
    
verilen cevap user129146 07.02.2013 03:30
5

Sorununuzu 2 kısma bölerim:

1) Başladığım süreçleri nasıl bulurum? Bunu çalıştır:

ps -u 'whoami'

whoami , kullanmakta olduğunuz hesabın adını bilmediğiniz takdirde, aksi takdirde yalnızca hesabın adını tırnak işaretleri olmadan yazınız.

Bu, hesabınız tarafından silinebilecek tüm işlemleri listeler.

2) ps komutu işlem numarasını, TTY, Time ve CMD'yi listeleyecektir. İşlem kimliği ilk sütundur. İşlemi öldürmek için bu numarayı kullanın. İşlemi yaparken dikkatli olun. Yanlış süreci öldürürseniz bir şeyi kırabilirsiniz. Bir işlemi öldürmek için, işleme bir SIGNAL gönderen kill komutunu kullanacaksınız. Sinyal, işleminin ne yapması gerektiğini gösterir. Örneğin, işleme -1 gönderilmesi, yapılandırma dosyasını yeniden yüklemesini ister; -2 gönderilmesi, bu işlemin Control + C tuşlarına basmakla eşdeğerdir; -9 , çekirdeğin işlemden vazgeçmeden, işlemi terk etmesine neden olur.

Bu ps-% co_de yüzdesinin

gibi bir şey döndürdüğünü varsayalım
  PID TTY          TIME CMD
 4333 pts/1    00:00:00 fish
 4335 ?        00:00:00 fishd
 4816 ?        00:00:00 intellij
 4868 ?        00:50:42 java
 4939 ?        00:00:19 fsnotifier64
 7667 ?        02:49:08 firefox
 7698 ?        00:00:00 unity-webapps-s

Ve whoami işlemini işlem kimliğiyle öldürmek istediniz, sonra şunları yapacaksınız:

kill -1 7667

Ardından, aynı firefox komutunu yeniden çalıştırıp işlemin devam edip etmediğini kontrol edersiniz. Hala çalışıyorsa, o zaman bir

yapın
kill -2 7667

ps 'a kadar yolunuzu çalışıyorum.

Hesabınız tarafından başlatılan tüm işlemleri öldürmek için -9 değerini girin. Öncekiyle aynı şekilde: kill <level> -1 yolunda çalışın.

Eğer sürecin ismini biliyorsanız, -9 'a gidebilirsin, öldürmeye çalıştığın şey budur. Örneğin: killall <processname> (balık, bu anlamda, Friendly Interactive SHell'tir).

killall fish için dokümanlar şu adreste bulunabilir: İşte

    
verilen cevap Alexandre Santos 05.05.2015 01:37
2

... Linux'taki tüm süreçler sinyallere yanıt verir. Sinyaller, programların davranışlarını sona erdirmek veya değiştirmek için program önerme yöntemlerinin os-düzeyidir.

PID Tarafından İşlem İşaretlerinin Nasıl Gönderilmesi

Bir programa sinyal iletmenin en yaygın yolu, kill komutudur.

Tahmin edebileceğiniz gibi, bu yardımcı programın varsayılan işlevselliği bir işlemi durdurmaya çalışmaktır:

kill PID_of_target_process

Bu TERM sinyalini işleme gönderir. TERM sinyali, sürecin sonlandırılmasını söyler. Bu, programın temizleme işlemlerini gerçekleştirmesine ve sorunsuz bir şekilde çıkmasına izin verir.

Program hatalı çalışıyorsa ve TERM sinyali verildiğinde çıkmıyorsa, KILL sinyalini ileterek sinyali yükseltebiliriz:

kill -KILL PID_of_target_process

Bu, programa gönderilmeyen özel bir işarettir.

Bunun yerine, işlemi durduran işletim sistemi çekirdeğine verilir. Bu, onlara gönderilen sinyalleri göz ardı eden programları atlamak için kullanılır ...

    
verilen cevap jackal404258 03.05.2015 02:00
2

(Benim davamda) öldürmek için yazdığım küçük bir senaryo yazdım. Skype:

kill -s 9 'ps aux | grep skype | head -n 1 | cut -f4 -d" "'

Ama o zaman o kadar çalıştı, pid bir sonraki gün işe yaramadı çünkü pid farklı bir uzunluktaydı ve alanların miktarı farklıydı

Sonra bu siteye rastladım ve denedim

pgrep -l -u justin

, formatları uygun bir şekilde çıktılar

[pid] [name]

Bu yüzden kodumu kodda şuna göre ayarladım:

kill -s 9 'pgrep -l -u justin | grep skype | cut -f1 -d" "'

Bunun anlamı justin 'nin tüm işlemlerini (herhangi bir kullanıcı adına değiştirilebilen) grep ' ye (bu işleminize dönüştürülebilir) ve skype değerine aktarır. satır cut sonra sadece PID okur ve nihayet onu öldürmek için kill komutunda bu PID kullanır.

    
verilen cevap justingiffard 27.12.2013 22:10
2

Bu uygulama ile program listelerini görüntüleyebilirsiniz

htop yükleyin

sudo apt-get install htop
süreci görmek ve işlemi durdurmak için

Bunu yükleyebilir ve silebilirsiniz

    
verilen cevap Reza Bojnordi 27.05.2017 14:21
0

Ubuntu'da bir işlemi öldürmek için aşağıdaki prosedürü kullandım ::

Adım 1: İşlemin pidini grep kullanarak alın veya -C de kullanabilirsiniz ::

ps aux | -C 'filename'

veya

ps -ef | -C 'filename'

veya

ps aux | grep 'filename'

veya

ps -ef | grep 'filename' 

2. Adım: Pid numarasını not edin.

3. Adım: 'kill' komutunu pid no ile birlikte kullanın:

kill pidnumber
    
verilen cevap harrypotter0 27.05.2017 13:46
0

Ctrl + Alt + Delete, bir çift tıklamayla süreçleri öldürmenin kolay olduğu yer olan görev yöneticisine erişim sağlamak için ayarlanabilir ve benim için yanlış yapılırsa zarar verebilecek komutları hatırlamak için daha az gereksinim vardır:

İşte

    
verilen cevap Cedric Eveleigh 27.05.2017 13:52
0

İşte yazdığım basit bir python betiği, killProcess.py, giriş olarak her şeyi kabul edecek ve onu öldürecek.

Bu senaryoyu yazdım çünkü tek tek ve programlı olarak öldürmek istediğim birçok python veya node işlemim var. "Killall python" kullanamıyorum çünkü çalışmaya devam etmem gereken işlemleri durduracak.

Lütfen "killProcess.py" dosyasını adlandırın, sonra durdurmak istediğiniz komut dosyasının adını ekleyin. E.g .: python killProcess.py runnablePoller.py runnablePoller.py dosyasını öldürecektir

import os;
import sys;
for arg in sys.argv:
    if(arg!="killProcess.py"):
        process=arg;
        print(process);
processes =os.popen("ps -ef | grep "+process).read();
processes=processes.split("\n");
processes=processes[0].split(" ");
#print(processes);
for p in processes:
    try:
        pid=int(p);
        print(pid); 
        break;
    except:
        continue;

os.system("kill "+str(pid));
    
verilen cevap nick carraway 18.06.2017 21:39

Etiketlerdeki diğer soruları oku