Portál AbcLinuxu, 6. května 2025 14:09
● script1.service - script1_start Loaded: loaded (/etc/systemd/system/script1.service; enabled; vendor preset: enabled) Active: inactive (dead) since Fri 2020-12-04 17:34:11 CET; 1s ago Process: 373 ExecStart=/usr/local/script/script1.sh (code=exited, status=0/SUCCESS) Main PID: 373 (code=exited, status=0/SUCCESS) dec 04 17:34:11 jany systemd[1]: Started script1_start. dec 04 17:34:11 jany systemd[1]: script1.service: Succeeded.Ak spustim skript samostatne
/usr/local/script/script1.shfunguje bez problemov.
Řešení dotazu:
Active: inactive (dead) since Fri 2020-12-04 17:34:11 CET; 1s agoSpustam obycajnu binarku, takze skript je uplne jednoduchy
#!/bin/bash /cesta_k_binarkeSkript sa nespusti, lebo binarka nebezi. Ked skript spustim rucne, tak to funguje
inactive (dead)
znamené že sa skript sám ukončil. Rozmýšľam či má zmysel sa opýtať ako je definované dané service, a čo má ten skript vôbec robiť. Ale asi nie, keďže to vyzerá na opajcnutý konfig z čias keď do Debianu zle portovali RC unity na systemd services a spravili tak negatívnu reklamu systemd.
V tomto prípade to bude na sto percent to isté. Žiadne detaily, len info že niečo utajené nefunguje.
[Unit] Description=script1_start [Service] Type=simple ExecStart=/usr/local/script/script1.sh [Install] WantedBy=multi-user.target
Type
. V tomhle případě to asi bude forking
. Souhlasím s kysučanovým příspěvkem dále, že je lepší spouštět přímo tu binárku, ale samozřejme jde napsat unit file tak, aby fungoval i s tím skriptem.
[Unit]
Description=OScam
After=network.target
Requires=network.target
[Service]
Type=forking
PIDFile=/var/run/oscam.pid
ExecStart=/usr/local/bin/oscam -b -B /var/run/oscam.pid -c /home/marian/oscmumu/
ExecStop=/usr/bin/rm /var/run/oscam.pid
TimeoutStopSec=1
Restart=always
RestartSec=5
StartLimitInterval=0
[Install]
WantedBy=multi-user.target
Requires=network.targetTohle tam nedávejte, pokud vaše služba neslouží k vytváření síťových spojení (není to NetworkManager apod.). Viz man systemd.special, poznámka o rozdílu mezi network-online.target a network.target.
KillMode
raději ne. To sice zabrání zabití forknutého procesu, ale služba by se i nadále jevila jako inactive. Hlavní je mít správně Type
.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.