Sorunu 2 parçaya bölerdim:
1) Başladığım süreçleri nasıl bulabilirim? Bunu çalıştır:
ps -u `whoami`
Kullandığınız whoami
hesabın adını bilmemeniz durumunda, tersini belirtmeden hesabın adını yazmanız yeterlidir.
Bu, hesabınız tarafından silinebilecek tüm işlemleri listeler.
2) ps
Komut, işlem numarasını, TTY, Time ve CMD'yi listeler. İşlem kimliği ilk sütundur. Süreci öldürmek için bu numarayı kullanın. Süreci öldürürken dikkatli olun. Yanlış süreci öldürürseniz bir şeyleri kırabilirsiniz. Bir işlemi öldürmek için işleme kill
bir SİNYAL gönderen komutu kullanacaksınız . Sinyal, işlemin ne yapması gerektiğini gösterir . Örneğin -1
, işleme bir a gönderilmesi , yapılandırma dosyasını yeniden yüklemesini ister; a gönderme -2
, bu işlemdeki Control + C tuşlarına basmaya eşdeğerdir; -9
çekirdeğin, sürece iletmeden süreci terk etmesine neden olur.
Diyelim ki ps -u whoami
böyle bir şey döndürdü
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 firefox
süreci kendi işlem kimliği ile öldürmek istediniz , sonra yapardınız:
kill -1 7667
Ardından aynı ps
komutu tekrar çalıştırıp işlemin devam edip etmediğini kontrol edersiniz . Hala çalışıyorsa, o zaman bir
kill -2 7667
kadar çalışıyorum -9
.
Hesabınız tarafından başlatılan tüm işlemleri öldürmek için, girin kill <level> -1
. Daha önce olduğu gibi aynı: kadar yol çalışın -9
.
Sürecin adını biliyorsanız basitçe gidebilir killall <processname>
, öldürmeye çalıştığınız yer burasıdır. Örneğin: killall fish
(balık, bu anlamda, Friendly Interactive Shell'dir).
İçin belgeleri killall
burada bulabilirsiniz: http://manpages.ubuntu.com/manpages/hardy/man1/killall.1.html
kill -15 -1
ve sadecekill -9 -1
inatçı süreçler varsa devam edeceğim ve ne yaptığımı biliyorum . Bir veritabanı işleminin ortasında olabilecek işlemleri rasgele öldürmek, önerdiğiniz gibi rasgele yapmanız gereken bir şey değildir.