Bagaimana aku bisa membunuh semua proses yang berjalan oleh saya sendiri non-root account?
Saya memiliki beberapa berputar smbd proses yang saya disebabkan dari mesin windows saya dan jadi saya telnetted ke server linux dan aku ingin membunuh mereka berputar proses. Saya don't memiliki kewenangan untuk me-restart layanan atau reboot mesin.
Untuk membunuh semua proses yang anda memiliki izin untuk membunuh, hanya menjalankan perintah
membunuh -15 -1
atau kill -9 -1
tergantung pada perilaku yang diinginkan (gunakan membunuh orang
untuk rincian)
Untuk membunuh proses tertentu, katakanlah, firefox, cukup jalankan
pkill firefox
atau killall firefox
tergantung pada perilaku yang anda inginkan: https://askubuntu.com/questions/27501/whats-the-difference-between-killall-and-pkill
Jika anda ingin melihat proses apa yang berjalan gunakan perintah
ps -ef
Jika anda ingin melihat semua proses oleh pengguna bob, hal ini mungkin dapat membantu
pgrep -l -u bob
atau
ps -ef | grep bob
Let's mencoba sesuatu yang lebih:
sudo apt-get install htop
Atas
perintah adalah cara tradisional untuk melihat sistem penggunaan sumber daya dan melihat proses yang memakan sebagian besar sumber daya sistem. Atas menampilkan daftar proses, dengan orang-orang yang menggunakan sebagian besar CPU di atas.
htop
menampilkan informasi yang sama dengan yang lebih mudah-untuk-memahami tata letak. Hal ini juga memungkinkan anda memilih proses dengan tombol panah dan melakukan tindakan, seperti membunuh mereka atau mengubah prioritas mereka, dengan A tombol.
Anda dapat menggunakan
ps -ax | grep application name
Jika anda mencari untuk firefox ketik di terminal seperti ps -ax | grep firefox
, hal ini menunjukkan proses id dari aplikasi yang sesuai. Anda dapat menghentikan aplikasi yang terkait dengan membunuh
perintah jika proses id=1317,
kill -9 1317
I'd memecahkan masalah anda menjadi 2 bagian:
ps -u `whoami`
The whoami
hanya dalam kasus anda don't tahu nama akun yang anda gunakan, jika tidak hanya ketik nama akun tanpa kembali kutipan.
Ini akan menampilkan semua proses yang dapat dihapus dengan akun anda.
ps
perintah akan daftar nomor proses, TTY, Time dan CMD. Proses ID adalah kolom pertama. Menggunakan nomor itu untuk membunuh proses. Berhati-hati saat membunuh proses. Mungkin anda memecahkan sesuatu jika anda membunuh proses yang salah.
Untuk membunuh proses yang anda akan gunakan membunuh
perintah, yang mengirimkan SINYAL ke proses. Sinyal menunjukkan apa proses yang harus ** lakukan. Misalnya, mengirimkan -1
untuk proses yang akan meminta untuk reload konfigurasi file; mengirimkan -2
setara dengan menekan tombol Control+C pada proses itu; -9
akan menyebabkan kernel untuk meninggalkan proses, tanpa berkomunikasi untuk proses. Mengandaikan bahwa ps -u whoami
kembali sesuatu seperti
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
Dan anda ingin membunuh firefox
proses dengan id proses, maka anda'd lakukan:
kill -1 7667
Kemudian anda'd re-run yang sama ps
perintah dan memeriksa apakah proses itu masih berjalan. Jika hal ini masih berjalan, kemudian melakukan
kill -2 7667
bekerja dengan cara anda sampai ke -9
.
Untuk membunuh semua proses yang dimulai oleh akun anda, masukkan membunuh <tingkat> -1
. Sama seperti sebelumnya: cara kerja anda hingga ke -9
.
Jika anda tahu nama proses, anda hanya dapat pergi killall <processname>
, di mana killall ikan
(ikan, dalam pengertian ini, adalah Ramah Interaktif SHell).
Dokumentasi untuk killall
dapat ditemukan di sini: http://manpages.ubuntu.com/manpages/hardy/man1/killall.1.html
Dengan aplikasi ini anda dapat melihat listing program
install htop
sudo apt-get install htop
untuk melihat proses dan membunuh proses Anda dapat menginstal dan menghapus
...Semua proses di Linux menanggapi sinyal. Sinyal os level-cara untuk memberitahu program untuk menghentikan atau mengubah perilaku mereka.
Bagaimana Proses Mengirim Sinyal dengan PID
Cara yang paling umum dari sinyal lewat program adalah dengan perintah kill.
Seperti yang mungkin anda harapkan, fungsi default dari utilitas ini adalah untuk mencoba untuk membunuh proses:
kill PID_of_target_process
Ini mengirimkan sinyal ISTILAH untuk proses. ISTILAH sinyal menceritakan proses untuk segera menghentikan. Hal ini memungkinkan program untuk melakukan operasi bersih-bersih dan keluar dengan lancar.
Jika program ini nakal dan tidak keluar ketika diberi ISTILAH sinyal, kita dapat meningkatkan sinyal dengan melewati MEMBUNUH sinyal:
kill -KILL PID_of_target_process
Ini adalah sebuah sinyal khusus yang tidak dikirim ke program.
Sebaliknya, itu adalah yang diberikan kepada sistem operasi kernel, yang menutup proses. Ini digunakan untuk mem-bypass program yang mengabaikan sinyal yang dikirim ke mereka...
Saya menulis sedikit script yang saya tulis untuk membunuh (dalam kasus saya) Skype:
kill -s 9 `ps aux | grep skype | head -n 1 | cut -f4 -d" "`
Tapi saya menemukan bahwa sebanyak yang bekerja kemudian, itu tidak't bekerja pada hari berikutnya karena pid adalah panjang yang berbeda dan tidak untuk jumlah ruang yang berbeda
Kemudian saya menemukan situs ini dan mencoba
pgrep -l -u justin
yang terletak output proses dalam format
[pid] [name]
Jadi saya disesuaikan kode saya di script ini:
kill -s 9 `pgrep -l -u justin | grep skype | cut -f1 -d" "`
Apa yang dilakukan adalah pipa semua proses justin
berjalan (yang dapat diubah untuk setiap nama pengguna) untuk grep
yang terlihat skype
(ini dapat diubah untuk proses anda) dan kemudian pipa yang line untuk memotong
yang kemudian hanya membaca PID dan akhirnya menggunakan PID dalam membunuh
perintah untuk membunuhnya.
Berikut ini's sederhana python script yang saya tulis, killProcess.py yang akan menerima apa-apa sebagai masukan dan membunuh itu.
Saya menulis tulisan ini karena saya memiliki banyak python atau node proses yang aku ingin membunuh secara individual dan secara programatik. Saya dapat't gunakan "killall python" karena itu akan menghentikan proses yang saya butuhkan untuk terus berjalan.
Mohon nama file "killProcess.py", kemudian tambahkan nama script anda ingin berhenti. E. g.: python killProcess.py runnablePoller.py akan membunuh runnablePoller.py file
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));
Aku digunakan prosedur berikut untuk membunuh proses di Ubuntu ::
Langkah 1 : Mendapatkan pid dari proses dengan menggunakan grep atau anda bisa menggunakan -C juga ::
ps aux | -C 'filename'
atau
ps -ef | -C 'filename'
atau
ps aux | grep 'filename'
atau
ps -ef | grep 'filename'
Langkah 2 : Perhatikan nomor pid .
Langkah 3 : Gunakan 'membunuh' perintah beserta nomor pid sebagai :
kill pidnumber
Pilih+Alt+Hapus dapat diatur untuk memberikan anda akses ke task manager, dari mana itu's mudah untuk membunuh proses dengan beberapa klik, dan bagi saya, kurang persyaratan untuk mengingat perintah-perintah yang bisa merusak jika dilakukan dengan salah:
http://ubuntuhandbook.org/index.php/2013/07/use-ctrl-alt-del-task-manager-ubuntu/