Programın “sahipliğini” kabuğundan disown
yerleşik olarak iptal edebilirsiniz :
# press Ctrl+Z to suspend the program
bg
disown
Ancak bu yalnızca kabuğa kabuk SIGHUP
çıkınca programa bir sinyal göndermemesini söyler . Program, terminalle olan bağlantılarını, genellikle standart giriş, çıkış ve hata akışları olarak koruyacaktır. Bunları başka bir terminale tekrar bağlamak mümkün değildir. ( Ekran her pencere için bir terminal taklit ederek çalışır, böylece programlar ekran penceresine eklenir.)
O (yani kullanarak bir hata ayıklayıcı programını ekleyerek farklı bir dosyaya FileDescriptorları boşaltmanın takın mümkündür ptrace
) ve çağrı yapma open
, dup
ve close
. Bunu yapan birkaç araç var; Bu zor bir işlemdir ve bazen işlem yerine çökeceklerdir. Olasılıklar (cevaplardan toplanan bağlantılar arasında Çalışan bir işlemi nasıl reddedebilir ve yeni bir ekran kabuğuyla ilişkilendirebilirim?) Ve daha önce başlatılmış bir işlemi nohup / ekranlayabilir miyim? ):