Czy możliwe jest ręczne wykonanie pojedynczej systemowej sparowanej jednostki czasowej do celów testowych?


21

Mam zestaw czasomierza / jednostki serwisowej, który powinien działać raz dziennie w określonych --userwarunkach. Pokazuje się systemctl --user statusw dzienniku i zostaje zalogowany, ale część polecenia nie działa.

Wygląda na to, że coś w poleceniu nie jest interpretowane poprawnie. Chcę pobrać plik z jednostką i uruchomić usługę, przejrzeć dziennik itp., Aby zdiagnozować problem; jednak edytowanie licznika w celu uruchomienia minuty w przyszłości, czekanie i sprawdzanie dziennika jest ... żmudne.

Czy można zrobić coś takiego, jak systemctl --user execute xxxxxx.servicepo prostu uruchomić to cholerstwo, jakby uruchomił się zegar?

Odpowiedzi:


12

Możesz aktywować dowolną jednostkę ręcznie, chyba że zawiera ona dyrektywę RefuseManualStart=yesi / lub RefuseManualStop=yesdyrektywę (które robią dokładnie to, co mówią). Po prostu problem systemctl --user start <whatever>(i systemctl --user stop <whatever>odwrotnie).

Aby zacytować systemctl (1) :

uruchom WZÓR ...

Uruchom (aktywuj) jedną lub więcej jednostek określonych w wierszu poleceń.

<...>

zatrzymaj WZÓR ...

Zatrzymaj (dezaktywuj) jedną lub więcej jednostek określonych w wierszu poleceń.


Nie działa tutaj:Failed to restart {foo}.service: Operation refused, unit {foo}.service may be requested by dependency only.
eMPee584

1
@ eMPee584 Ponieważ ta odpowiedź została napisana, systemd zyskał nowe dyrektywy RefuseManualStart=i RefuseManualStop=(które robią dokładnie to, co mówią). Zaktualizowałem swoją odpowiedź, aby o tym wspomnieć.
intelfx
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.