Možný duplikát:
Jak mohu zamítnout běžící proces a přiřadit jej k novému prostředí obrazovky?
Spustil jsem příkaz, který trvá dlouho.
Musel jsem se odpojit, takže jsem ho přesunul na pozadí (pomocí CTRL+Z a bg
) před ukončením.
Něco jako toto:
$ my_command
***command is beeing executed and is taking a long time***
^Z
[1]+ Stopped my_command
$ bg
[1]+ my_command &
$ exit
Znovu jsem se připojil a vidím příkaz v seznamu procesů, ale nemohu se obnovit pomocí fg
.
$ fg
-bash: fg: current: no such job
Jak obnovím svou práci v popředí?
Přijatá odpověď:
Pokud jste již někde něco začali, vytvořili na pozadí a nyní to potřebujete připojit k novému terminálu, můžete použít reptyr
jej znovu připevnit. (man
stránka shrnuje příkaz jako „Přizpůsobit běžící program novému terminálu“.)
Důvod, proč to nevidíte v příkazu „jobs“ nebo pomocí „fg“, abyste to dostali do popředí, je ten, že tyto příkazy jsou ve skutečnosti zabudovány do shellu. Technicky neoddělují procesy od terminálu, ke kterému jste připojeni, takže když opustíte shell, měly by ukončete také (při pokusu o ukončení byste měli dostat varování).