Jest to polecenie keep-one-running, które można uruchomić u bezpłatnego dostawcy usług hostingowych OnWorks przy użyciu jednej z wielu naszych bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online systemu Windows lub emulator online MAC OS
PROGRAM:
IMIĘ
run-one - uruchom tylko jedną instancję na raz jakiegoś polecenia i unikalnego zestawu argumentów
(przydatne do cronjobs, np.)
STRESZCZENIE
pierwszy raz POLECENIE [ARG]
uruchom-to-jeden POLECENIE [ARG]
uruchom-jeden-ciągle POLECENIE [ARG]
utrzymać jeden uruchomiony POLECENIE [ARG]
uruchom-jeden-do-sukcesu POLECENIE [ARG]
uruchom-jeden-do-porażki POLECENIE [ARG]
OPIS
pierwszy raz to skrypt opakowujący, który uruchamia nie więcej niż jedną unikalną instancję jakiegoś polecenia
z unikalnym zestawem argumentów.
Jest to często przydatne w przypadku zadań cron, gdy nie chcesz, aby na raz działała więcej niż jedna kopia.
uruchom-to-jeden jest dokładnie jak pierwszy raz, z wyjątkiem tego, że użyje chwyt(1) i zabić(1) znaleźć
i zabij wszystkie uruchomione procesy należące do użytkownika i pasujące do poleceń docelowych i
argumenty. Zauważ to uruchom-to-jeden zablokuje się podczas próby zabicia pasujących procesów,
dopóki wszystkie pasujące procesy nie staną się martwe.
uruchom-jeden-ciągle działa dokładnie tak, jak pierwszy raz poza tym, że odradza się „COMMAND [ARGS]”
za każdym razem, gdy COMMAND wychodzi (zero lub nie zero).
utrzymać jeden uruchomiony jest aliasem dla uruchom-jeden-ciągle.
uruchom-jeden-do-sukcesu działa dokładnie tak, jak uruchom-jeden-ciągle z wyjątkiem tego, że się respawnuje
„COMMAND [ARGS]” do momentu pomyślnego zakończenia COMMAND (tj. wyjścia z zera).
uruchom-jeden-do-porażki działa dokładnie tak, jak uruchom-jeden-ciągle z wyjątkiem tego, że się respawnuje
„COMMAND [ARGS]” do czasu, aż COMMAND zakończy się niepowodzeniem (tj. zakończy działanie z wartością różną od zera).
PRZYKŁAD
W jednej skorupie:
$ run-one rsync -azP $HOME $[email chroniony]:/srv/kopia zapasowa
źródło/
foouser/.bash_history
40298 100% 37.13 MB/s 0:00:00 (xfer#1, to-check=3509/3516)
foouser/.viminfo
20352 100% 98.39 kB/s 0:00:00 (xfer#3, to-check=3478/3516)
...
wysłane 746228 bajtów odebrane 413059 bajtów 36802.76 bajtów/s
całkowity rozmiar to 3732890955 przyspieszenie to 3219.99
W innej powłoce, podczas gdy pierwsza wciąż działa:
$ run-one rsync -azP $HOME $[email chroniony]:/srv/kopia zapasowa
$ echo $?
1
Inny przykład... W jednej powłoce:
$ run-one top
W innej skorupie:
$ run-one top
$ echo $?
1
$ uruchom ten jeden top
top - 17:15:36 do 1:43, 3 użytkowników, średnie obciążenie: 1.05, 1.04, 1.00
Zadania: 170 łącznie, 1 bieg, 169 spania, 0 zatrzymanych, 0 zombie
...
I zauważ, że proces w pierwszej powłoce został zabity.
Możesz chcieć utrzymywać jedno połączenie ssh przez cały czas, z:
$ run-one-constantly ssh -N -C -L 3128:localhost:3128 -L 7778:localhost:7778 example.com
&
Korzystaj z usług onworks.net, aby zawsze działać online