$ dpalv1.3.2Daemon Pal
Malý správce procesů pro macOS a Linux. Udrží vaše servery, workery a skripty v chodu a po ukončení je znovu spustí. Bez roota, bez závislostí, jeden program.
# Instalace přes npm (nebo Homebrew, .deb, .rpm).
$ npm install -g @partoska/dpal# Spuštění řídicího procesu.
$ dpal -C &# Přidání procesu pod dohled.
$ dpal -c /usr/bin/python3 -m http.server 8080# Spuštění a kontrola stavu.
$ dpal -s python3$ dpal -l -aProč Daemon Pal?
Malý a bez závislostí
Jeden program v C99, který potřebuje jen standardní knihovnu C. Hodí se stejně dobře na Raspberry Pi Zero jako na build server.
Běží v uživatelském prostoru
Bez roota a bez systémových služeb. Daemon Pal běží vedle systemd nebo launchd a nijak do nich nezasahuje.
Restart po ukončení
Když se proces pod dohledem ukončí, Daemon Pal ho znovu spustí. U každého procesu můžete nastavit prodlevu restartu, aby se chybující služba nezacyklila.
Jednoduchá konfigurace v INI
Definujte procesy s argumenty, proměnnými prostředí, prodlevou restartu a rotací logů v přehledném souboru INI. Seznam můžete kdykoli importovat, exportovat a uložit.
Izolované pracovní adresáře
Každý řídicí proces má vlastní pracovní adresář. Spusťte jeden pro každý projekt a ovládejte je zvlášť pomocí -D.
Připraveno pro AI agenty
Daemon Pal obsahuje skill pro AI agenty, takže ho AI asistenti pro programování umí nainstalovat a spravovat vaše procesy za vás.
Získat skill Daemon PalJeden program, dva režimy
Stejný program dpal běží buď jako dlouhodobý řídicí proces, nebo jako krátkodobý vykonavatel příkazů. Řídicí proces spustíte jednou a pak mu posíláte příkazy.
Řídicí proces
Daemon, který vlastní vaše procesy. Spouští je, hlídá, po ukončení je restartuje a zapisuje jejich logy.
$ dpal -C -a &Vykonavatel příkazů
Krátkodobý klient, který pošle běžícímu řídicímu procesu jeden příkaz: výpis, spuštění, zastavení, restart, přidání, smazání, import nebo export.
$ dpal -r webRychlý start
Od instalace k procesu pod dohledem v pěti krocích. Příklad pomocí Pythonu zpřístupní aktuální adresář přes HTTP.
Nainstalujte dpal
Nainstalujte CLI a ověřte verzi. Dáváte přednost Homebrew nebo nativnímu balíčku? Podívejte se na možnosti instalace.
$ npm install -g @partoska/dpal$ dpal -vSpusťte řídicí proces
Spusťte daemon na pozadí. Svůj stav ukládá do $DPAL_HOME, nebo do ~/.dpal, pokud proměnná není nastavená.
$ dpal -C &Přidejte proces
Zadejte cestu ke spustitelnému souboru a jeho argumenty. Proces dostane jméno podle spustitelného souboru, zde python3.
$ dpal -c /usr/bin/python3 -m http.server 8080Spusťte ho a zkontrolujte
Spusťte proces podle jména nebo ID a pak vypište všechny procesy s jejich ID a stavem.
$ dpal -s python3$ dpal -l -aUložte nebo ukončete
Uložte seznam, aby se při příštím spuštění znovu načetl, nebo zastavte řídicí proces i všechny procesy, které hlídá.
$ dpal -p$ dpal -k
Příklady
Popište své procesy v souboru INI, pak ho načtěte a vše spusťte jedním příkazem. Komentáře pište na samostatné řádky.
; Each [section] is one process, named after the section.[web]Id=1App=/usr/bin/nodeDir=/srv/web; First Arg is argv[0], then one Arg per argument.Arg=nodeArg=server.jsEnv=(Name=PORT,Value=8080)Env=(Name=NODE_ENV,Value=production); Wait 5 seconds before restarting after an exit.RestartSec=5; Rotate the log at 10 MB and keep 3 old files.LogMaxSize=10485760LogRotation=3 [worker]Id=2App=/usr/bin/python3Dir=/srv/workerArg=python3Arg=worker.pyRestartSec=10$ dpal -C -i ecosystem.ini -a &$ dpal -l -aDalší možnosti najdete v dokumentaci.
Instalace
Vyberte způsob, který vyhovuje vašemu systému. Každá možnost nainstaluje stejný program dpal.
$ brew install partoska/tap/dpalPro macOS a Linux na x64 a ARM64.
Příkazy používají nejnovější verzi 1.3.2. Všechny soubory a kontrolní součty SHA256 najdete na stránce vydání.
Přehled příkazů
Při každém volání spusťte jeden příkaz. Procesy můžete určit jménem nebo ID, případně všechny pomocí -a. Vestavěnou nápovědu zobrazíte příkazem dpal -h.
Řídicí proces
- -C, --control
- Spustí řídicí proces.
- -D, --dir
- Použije zadaný pracovní adresář.
- -i, --ini
- Načte procesy ze souboru INI.
- -a, --auto-start
- Spustí všechny načtené procesy.
- -f, --force
- Spustí nebo provede i při zamčeném pracovním adresáři.
Vykonavatel příkazů
- -l, --list
- Vypíše procesy.
- -s, --start
- Spustí procesy.
- -t, --stop
- Zastaví procesy signálem SIGTERM.
- -r, --restart
- Zastaví a znovu spustí procesy.
- -c, --create
- Přidá proces ze spustitelného souboru a jeho argumentů.
- -d, --delete
- Odebere procesy ze seznamu.
- -i, --import
- Importuje procesy ze souboru INI.
- -e, --export
- Exportuje procesy do souboru INI.
- -p, --persist
- Uloží seznam, aby se načetl při příštím spuštění.
- -k, --kill
- Zastaví řídicí proces i všechny jeho procesy.
- -a, --all
- Použije příkaz na všechny procesy.
Použití
Servery a zařízení
- →Udržujte služby v chodu na Raspberry Pi nebo jiném malém zařízení.
- →Dohlížejte na webové aplikace a workery na serveru bez přístupu k rootu.
- →Odlehčená alternativa k jednotkám systemd pro procesy běžného uživatele.
Vývoj a automatizace
- →Spusťte celý lokální stack (API, workery, watchery) jedním příkazem.
- →Oddělte skupiny procesů pro každý projekt s vlastním pracovním adresářem.
- →Nechte AI asistenta pro programování spouštět, zastavovat a restartovat vaše vývojové servery.
Technické specifikace
Udržte své procesy v chodu.
Nainstalujte Daemon Pal jedním příkazem a svůj první proces budete mít pod dohledem za méně než minutu.
Prohlédněte si zdrojový kód na GitHubu, stáhněte balíček z npm, přečtěte si dokumentaci nebo přidejte skill pro AI agenty.