GNU/Linux >> Znalost Linux >  >> Linux

Zabijte proces pomocí souboru pid

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

V některých situacích kompaktnější:

pkill -F /var/run/myProcess.pid

je způsob, jak jít. Měl jsem potíže s odrůdami:

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

když jsem musel příkaz vložit do něčeho jiného, ​​co by ho mohlo analyzovat pomocí jiných pravidel, jako to dělá Monit pro své příkazy start/stop.


Domnívám se, že to zažíváte, protože váš výchozí shell je pomlčka (debian almquist shell), ale používáte syntaxi bash. Bash můžete zadat v řádku shebang něčím jako,

#!/usr/bin/env bash

Nebo můžete použít výraz back-tick kompatibilní s pomlčkou a bash, který navrhl admdrew v komentářích

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

Bez ohledu na to se nemůžete spolehnout na /bin/sh být bash.


Linux
  1. Nemůžete zabít proces Gedit z jeho Pid?

  2. Rozdíl mezi /var/log/messages, /var/log/syslog a /var/log/kern.log?

  3. CentOS / RHEL :Jak otočit soubory /var/log/wtmp a /var/log/btmp pomocí logrotate

  1. Co je soubor .pid a co obsahuje?

  2. Spusťte textový soubor jako příkazy v Bash

  3. Django static_root v /var/www/... - žádná oprávnění ke collectstatic

  1. Kdy mám použít /dev/shm/ a kdy /tmp/?

  2. find:Zjištěna smyčka souborového systému

  3. Měly by weby žít ve /var/ nebo /usr/ podle doporučeného použití?