Portál AbcLinuxu, 7. května 2025 14:42
Řešení dotazu:
Type=simple
očekává, že spuštěný proces bude trvale běžet. Pokud se jedná o jednorázový skript (který něco udělá a skončí), nastav Type=oneshot
.
no neveděl jsem že se v linuxu něco vynucujeTak jako nevynucuje, ale když nebudeš mít systemd, tak si budeš muset spoustu věcí řešit sám, protože jiné inity už nejsou podporované.
ale proč by nebylo možné ten skript normálně zařadit do procesů při startuVždyť přesně to dělají ty věci probírané výše. Rozdíl je v tom, že systemd nespouští skripty v /etc/rc*, ale programy definované v unitách.
stroj :~# cat /etc/systemd/system/rc-local.service [Unit] Description=/etc/rc.local ConditionPathExists=/etc/rc.local [Service] Type=forking ExecStart=/etc/rc.local start TimeoutSec=10 StandardOutput=tty RemainAfterExit=yes SysVStartPriority=99 [Install] WantedBy=multi-user.targePokud si vytvoří za zapne tuhle unitu, tak může normálně používat
rc.local
jako dřív.
cat /etc/systemd/system/rc-local.service # SPDX-License-Identifier: LGPL-2.1+ # # This file is part of systemd. # # systemd is free software; you can redistribute it and/or modify it # under the terms of the GNU Lesser General Public License as published by # the Free Software Foundation; either version 2.1 of the License, or # (at your option) any later version. # This unit gets pulled automatically into multi-user.target by # systemd-rc-local-generator if /etc/rc.local is executable. [Unit] Description=/etc/rc.local Compatibility Documentation=man:systemd-rc-local-generator(8) ConditionFileIsExecutable=/etc/rc.local After=network.target [Service] Type=forking ExecStart=/etc/rc.local start TimeoutSec=0 RemainAfterExit=yes GuessMainPID=nojedine co je potreba, vytvorit /etc/rc.local a "chmod +x /etc/rc.local", a jako posledni radek v rc.local mit: exit 0
Já používám :
pod uživatelem pod kterým má běžet script se přihlásím a zadám crontab -e
na konec souboru zadám :
@reboot sleep 60 && /cesta/ke/scriptu.sh
ukončím editor
no a hotovo.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.