Solusi 1:
Anda dapat melakukan ini dengan kombinasi ps , awk dan kill:
ps -eo pid,etime,comm
Memberi Anda output tiga kolom, dengan PID proses, waktu yang berlalu sejak proses dimulai, dan nama perintah, tanpa argumen. Waktu yang berlalu terlihat seperti ini:
mm:ss
hh:mm:ss
d-hh:mm:ss
Karena Anda menginginkan proses yang telah berjalan lebih dari seminggu, Anda akan mencari garis yang cocok dengan pola ketiga tersebut. Anda dapat menggunakan awk untuk memfilter proses dengan menjalankan waktu dan dengan nama perintah, seperti ini:
ps -eo pid,etime,comm | awk '$2~/^7-/ && $3~/mycommand/ { print $1 }'
yang akan mencetak pid dari semua perintah yang cocok dengan 'mycommand' yang telah berjalan lebih dari 7 hari. Masukkan daftar itu ke dalam kill, dan selesai:
ps -eo pid,etime,comm | awk '$2~/^7-/ && $3~/mycommand/ { print $1 }' | kill -9
Solusi 2:
killall --quiet --older-than 1w process_name
Server relai SSH dengan OpenSSH
Bagaimana cara melakukan direktori home sentral dan akun pengguna di Ubuntu?