ให้โปรแกรมทำงานต่อหลังจากปิดคอนโซลหลังจากโปรแกรมเริ่มต้น [ซ้ำกัน]


8

ซ้ำเป็นไปได้:
ฉันจะแยกกระบวนการออกจากเทอร์มินัลได้อย่างไร?

ฉันเป็นโปรแกรมที่ทำงานในคอนโซล Unix บนคอมพิวเตอร์ Unix ระยะไกล ฉัน (โง่) ไม่ได้ใช้nohup &งานและตอนนี้ฉันต้องปิดคอนโซลท้องถิ่น

มีวิธีใดบ้างที่จะให้มันทำงานต่อจากระยะไกลหลังจากปิดคอนโซลท้องถิ่น

คำตอบ:


12

ถ้าเปลือกของคุณเป็นพวกเขาที่คุณสามารถใช้bash disownCtrl-Z เพื่อระงับกระบวนการจากนั้นdisown -hทำให้ไม่ได้รับ SIGHUP


ทางออกที่ยอดเยี่ยม มันทำงานได้ :-)
Thrawn

3
เพียงแค่อยากรู้อยากเห็น: ในขณะที่กระบวนการถูกระงับในที่สุดก็ไม่ควรที่จะตามด้วยbgหรืออะไรแบบนั้น? หรือไม่ก็disown -hกลับมาทำงานเช่นกัน?
Arjan

จะใช้งานได้screenหรือไม่หากกระบวนการทำงานอยู่ภายใน ฉันต้องการดำเนินการตามขั้นตอนปกติxtermแทน
เสียง

IIRC เมื่อปฏิเสธแล้วจะไม่เชื่อมต่อกับเทอร์มินัลใด ๆ
ดักลาส Leeder

5

บน Solaris 9 คุณสามารถใช้nohup -p <pid>เพื่อไม่ให้กระบวนการทำงาน นี่คือคำอธิบายที่น่าสนใจเกี่ยวกับการใช้งาน ฉันไม่รู้ว่าสิ่งนี้ได้ถูกนำไปใช้กับ Unices อื่นหรือไม่


nohup: ตัวเลือกที่ไม่ถูกต้อง - p ใช้งานไม่ได้กับ gentoo, ubuntu หรือ fedora (unixes ที่ฉันได้ลอง) แต่ต้องขอบคุณ :-) ขอบคุณ Solaris ที่มี
Thrawn

2

Ctrl-Z เพื่อระงับกระบวนการจากนั้นbgทำให้โปรแกรมเข้าสู่พื้นหลังและทำงานต่อไปจนกว่าจะเสร็จสมบูรณ์


ปัญหาคือว่าถ้าฉันปิดคอนโซลกระบวนการพื้นหลังก็จะหยุดเช่นกัน ฉันต้องการบางสิ่งบางอย่างที่แยกกระบวนการออกจากคอนโซลเช่น nohup ทำ แต่หลังจากกระบวนการเริ่มต้นแล้ว :-)
Thrawn

และฉันไม่คิดว่า 'nohup bg &' จะใช้งานได้ :-(
Thrawn

1
ฉันลองใช้ระบบใดระบบหนึ่งของฉันและมันก็ยังทำงานได้ดีเมื่อฉันออกจากระบบ (ใช้du / >> tempเป็นโปรแกรมทดสอบ) แต่ฉันเข้าใจว่าไม่แน่ใจถ้าคุณไม่ต้องการสูญเสียโปรแกรมหรือเป็นผลลัพธ์
เมทริกซ์โมล

2

หากคุณสามารถที่จะหยุดโปรแกรมและเริ่มต้นใหม่ก่อนที่จะออกจากระบบให้หยุดและเริ่มต้นใหม่ผ่านหน้าจอซึ่งเป็นสิ่งจำเป็นสำหรับทุกคนที่ใช้การเชื่อมต่อระยะไกลไปยังโฮสต์ยูนิกซ์


1
ฉันคิดว่าปัญหาหลักที่นี่คือแน่นอนว่าเขาต้องการที่จะไม่หยุดโปรแกรม
Gnoupi

1
ใช่ฉันไม่ต้องการให้โปรแกรมหยุด :-)
Thrawn

ฉันอยากจะแนะนำหน้าจอสำหรับใช้ในสถานการณ์เช่นนี้ในอนาคต (ฉันมักจะมีหน้าจอเซสชันที่ทำงานบนระบบใด ๆ ที่ฉันมี sehll o)
เมทริกซ์โมล

1
หลายปีต่อมาฉันรู้ว่าฉันเป็นคนโง่ไม่ได้ที่จะใช้หน้าจอ :-)
Thrawn
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.