GNU/Linux >> Belajar Linux >  >> Linux

Bunuh proses dengan file pid

cat /var/run/myProcess.pid | sudo xargs kill -9

Dalam beberapa situasi, semakin ringkas:

pkill -F /var/run/myProcess.pid

adalah cara untuk pergi. Saya mengalami masalah dengan varietasnya:

kill $(cat /var/run/myProcess.pid)
# Or
kill `cat /var/run/myProcess.pid`

ketika saya harus memasukkan perintah ke dalam sesuatu yang lain yang mungkin menguraikannya menggunakan aturan yang berbeda, seperti yang dilakukan Monit untuk perintah start/stop.


Saya yakin Anda mengalami ini karena shell default Anda adalah tanda hubung (shell debian almquist), tetapi Anda menggunakan sintaks bash. Anda dapat menentukan bash di baris shebang dengan sesuatu seperti,

#!/usr/bin/env bash

Atau, Anda dapat menggunakan ekspresi back-tick yang kompatibel dengan tanda hubung dan bash yang disarankan oleh admdrew di komentar

kill -9 `cat /var/run/myProcess.pid`

Terlepas dari itu, Anda tidak dapat mengandalkan /bin/sh menjadi bash.


Linux
  1. Bagaimana Linux Menangani Beberapa Pemisah Jalur Berturut-turut (/home////username///file)?

  2. Bash =~ Regex Dan Https://regex101.com/?

  3. Tidak Dapat Membunuh Proses Gedit Dari Pidnya?

  1. CentOS / RHEL :Cara memutar file /var/log/wtmp dan /var/log/btmp menggunakan logrotate

  2. Apa itu file .pid dan apa isinya?

  3. Cara menjalankan nohup dan menulis file pidnya dalam satu pernyataan bash

  1. Django static_root di /var/www/... - tidak ada izin untuk mengumpulkan statis

  2. Jalankan perintah bash pada pipa jenkins

  3. temukan:Loop sistem file terdeteksi