GNU/Linux >> Znalost Linux >  >> Linux

Zkontrolovat proces, pokud je stejný?

Existuje v linuxu skript nebo způsob, že když se pokusím spustit skript/proces shellu, pokud je spuštěn, zobrazí výzvu, že je spuštěn, a ukončí se, jinak bude pokračovat.

Přijatá odpověď:

Tuto jednu vložku můžete použít k tomu, co chcete:

$ pgrep script.bash && echo "already running" || ( ./script.bash & )

Příklad

Řekněme, že jsem měl tento skript:

$ cat script.bash 
#!/bin/bash

echo "Hello World"
sleep 10

Pokud použijeme naši jednu vložku:

$ pgrep script.bash && echo "already running" || ( ./script.bash & )
Hello World
$

Spustíme to znovu:

$ pgrep script.bash && echo "already running" || ( ./script.bash & )
10197
already running
$

Počkejte 10 sekund a znovu to spusťte, znovu to funguje:

$ pgrep script.bash && echo "already running" || ( ./script.bash & )
Hello World
$

Linux
  1. Změnit prostředí běžícího procesu?

  2. Zkontrolujte, zda proces běží na Mac OS X, a poté spustit kód?

  3. Jak zkontrolovat, zda proces stále běží pomocí Pythonu na Linuxu?

  1. Použití Bash pro automatizaci

  2. Zkontrolujte limit otevřeného FD pro daný proces v Linuxu

  3. Zkontrolujte volné místo na disku pro aktuální oddíl v bash

  1. Jak zkontrolovat velikost haldy pro proces v Linuxu

  2. Může být ID vlákna vícevláknového procesu stejné jako ID procesu jiného běžícího procesu?

  3. Linuxový skript pro kontrolu, zda proces běží, a podle výsledku jednat