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
$
Je špatná praxe nastavit Rootův shell na něco jiného než výchozího?
Jak synchronizovat pouze jeden oddíl?