Úvod
disown příkaz je součástí unixových shellů ksh, bash a zsh a používá se k odstranění úloh z aktuálního shellu. Jako cd nebo pwd , je to vestavěný příkaz shellu a nevyžaduje práva root.
Tento výukový program se bude zabývat různými způsoby použití disown příkaz v Linuxu ukončí úlohy a udrží je spuštěné po odhlášení.
Předpoklady
- Systém se systémem Linux
- Přístup do příkazového řádku / okna terminálu
zrušit syntaxi příkazu
Základní syntaxe pro disown příkaz je:
disown [options] jobID1 jobID2 ... jobIDN Použití příkazu disown v Linuxu
disown příkaz v Linuxu se používá k odstranění úloh z tabulky úloh. Můžete jej také použít k udržení delší a složitější úlohy spuštěné na pozadí i po odhlášení ze serveru.
Zkontrolujte probíhající úlohy
Chcete-li použít disown musíte mít na svém systému Linux spuštěné úlohy.
V tomto příkladu spustíme několik úloh běžících na pozadí:
cat /dev/random > /dev/null &
ping google.com > /dev/null &
Použijte jobs příkaz pro výpis všech aktuálních úloh:
jobs -l Měli byste získat podobný výstup, jaký vidíte níže:
ping příkaz je označen ‘+‘ , což znamená, že se jedná o aktuálně aktivní úlohu.
cat příkaz je označen ‘-‘ , což znamená, že se stane aktivní úlohou, pokud ping příkaz je ukončen.
Odebrat všechny úlohy
Chcete-li odstranit všechny úlohy z tabulky úloh, použijte následující příkaz:
disown -a
Odebrat konkrétní úlohy
Chcete-li odstranit konkrétní úlohu z tabulky úloh, použijte disown příkaz s příslušným ID úlohy. ID úlohy je uvedeno v závorkách v tabulce úloh:
V našem příkladu, pokud chceme odstranit ping musíme použít příkaz disown příkaz na úloze 2:
disown %2
Pomocí disown příkaz bez jakýchkoli voleb nebo ID úloh odstraní poslední úlohu z tabulky úloh:
Odebrat aktuálně spuštěné úlohy
Chcete-li odebrat pouze aktuálně spuštěné úlohy, použijte následující příkaz:
disown -r V našem příkladu výše zmíněný příkaz vymaže tabulku úloh, protože obě úlohy aktuálně běží na pozadí:
Nechte úlohy běžet i po odhlášení
Jakmile opustíte terminál vašeho systému, všechny aktuálně běžící úlohy se automaticky ukončí. Chcete-li tomu zabránit, použijte disown pomocí -h možnost:
disown -h jobID
V našem příkladu chceme zachovat cat příkaz běžící na pozadí. Chcete-li zabránit jeho ukončení při ukončení, použijte následující příkaz:
disown -h %1
Po použití disown příkaz, zavřete terminál:
exit
Všechny úlohy, které jste použili disown -h příkaz on bude pokračovat.