nohup หรือกระบวนการถาวรบน Mac OS X ssh


9

ฉันรู้ว่าสิ่งนี้ถูกถามมาก่อน แต่ดูเหมือนว่าจะไม่มีคำตอบใด ๆ ใน OS X Mountain Lion ฉันต้องการเปิดใช้งานกระบวนการผ่าน SSH และปิดสถานีโดยไม่ฆ่ากระบวนการ

nohup ccl64 -e '(ql:quickload :"file")' & 

ใช้งานไม่ได้ เมื่อเทอร์มินัลปิดกระบวนการจะตาย

nohup ccl64 -e '(ql:quickload :"file")'

กันที่นี่

ฉันคิดว่าต้องมีวิธี มันน่ารำคาญมากเพราะทำงานเป็นมาตรฐานในระบบ Linux แต่ Mac OS X ปฏิเสธที่จะทำงานกับชุดค่าผสมเหล่านี้

คำตอบ:


9

screenสิ่งหนึ่งที่เคยทำงานเป็น http://ss64.com/osx/screen.htmlดูเหมือนว่าจะมีให้ใน Mac OS X ต่อค่าเริ่มต้น

แก้ไข: http://web.archive.org/web/20130413070916/http://macdevcenter.com/pub/a/mac/2004/07/06/unix_gems.htmlหน้าจอกวดวิชาอื่น

นอกจากนี้ต่อไปนี้เป็นเคล็ดลับสั้น ๆ เกี่ยวกับวิธีใช้ screen

เปิดอินสแตนซ์ 'หน้าจอ' ใหม่

$ screen

ครั้งหนึ่งในหน้าจอคุณสามารถ 'แยก' (หรือปิดมันออก) หน้าจอเช่นนี้:

ctrl+A and then press D

หากต้องการกลับมาทำงานหน้าจอปกติคุณจะทำสิ่งนี้:

$ screen -x

หากคุณมีมากกว่าหนึ่งหน้าจออินสแตนซ์มันจะบอก ID ของพวกเขาในกรณีนี้คุณสามารถเลือกที่จะกลับมาทำงานต่อได้เช่นนี้:

$ screen -r <screen id>

แล้วฉันจะทำหน้าจอ ssh แล้วส่งคำสั่ง nohup? มีหรือไม่มี & ในตอนท้าย?

nohupไม่จำเป็นต้อง ทำหน้าจอ ccl64 ... & ในภายหลังหากคุณต้องการคุณสามารถเชื่อมต่อกับหน้าจอ -R เพื่อติดตามความคืบหน้า หรือเพียงแค่เรียกใช้หน้าจอและพิมพ์คำสั่งในนั้นคุณสามารถแยกออกด้วย Ctrl + A D.
chx

ขอบคุณมันเป็นไปได้ที่จะบันทึกหน้าจอออกในไฟล์หลังจากเปิดตัว?

แน่นอนว่าหน้าจอสามารถทำทุกอย่างได้ คุณต้องการให้หน้าจอ hardcopy-X ดูbbs.archlinux.org/viewtopic.php?id=47521สำหรับข้อมูลเพิ่มเติม
chx

5

ลองscreenแทนมันควรจะยังคงเป็นส่วนหนึ่งของการติดตั้งเริ่มต้น บางคนใช้หน้าจอเป็นเชลล์เริ่มต้นดังนั้นพวกเขาจึงไม่ต้องกังวลว่าจะไม่มีอะไรเลย


2
คุณสามารถอธิบายวิธีเรียกใช้คำสั่ง nohup กับหน้าจอได้หรือไม่

คุณใช้หน้าจอแทน nohup แล้วแยกหน้าจอ โปรแกรมของคุณจะทำงานต่อไปแม้ว่าจะสิ้นสุดเซสชัน ssh
Sven

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