คำถามติดแท็ก nohup

nohup เป็นคำสั่ง POSIX เพื่อละเว้นสัญญาณ HUP (Hangup)

3
ฉันจะแยกกระบวนการที่ไม่ตายเมื่อเชลล์ออกได้อย่างไร
ถ้าฉันใช้ emacs จากเปลือก: $ emacs foo & แล้วฆ่าเปลือกหอยนั้น emacs ก็ตาย ฉันจะรันคำสั่งเพื่อที่จะไม่ตายเมื่อเชลล์ตายได้อย่างไร ฉันพบการอ้างอิงถึง nohup แต่ดูเหมือนจะไม่ช่วย: $ nohup emacs foo & ยังคงฆ่า emacs เมื่อกระสุนตาย

4
ทำงานเบื้องหลัง SSH / งานเมื่อปิด SSH
ฉันมีคำถามเดียวกันกับที่นี่แต่ยิ่งไปกว่านั้น ถ้าฉันออกจากระบบ / ออกจากการเชื่อมต่อ SSH ฉันต้องการให้โปรแกรมของฉันทำงานในพื้นหลัง ก่อนออกฉันพิมพ์bgและjobsตรวจสอบงานที่ทำงานอยู่เบื้องหลัง แต่หลังจากออกจาก SSH โปรแกรมไม่ทำงานมันจะปิดลงเมื่อฉันปิดหน้าต่าง SSH ฉันจะทำอย่างไรถ้าฉันต้องการให้โปรแกรมของฉันยังทำงานอยู่หลังจากปิดหน้าต่าง SSH ฉันใช้nohup screenแต่มันใช้งานไม่ได้หรือฉันขาดอะไรไป?
27 linux  ssh  tasks  nohup 

2
วิธีการแนบกับกระบวนการ nohup?
ถ้าฉันเริ่มต้นกระบวนการด้วย nohup: nohup WHATEVER & แล้วฉันจะดูอีกครั้งได้อย่างไร ฉันหมายถึงวิธีแนบเทอร์มินัลของฉันกับลินุกซ์อีกครั้งเช่น: Ubuntu 11.04 - เหมือนกับscreenแพ็คเกจ
15 linux  nohup 

2
Ctrl + c ในกระบวนการย่อยกำลังฆ่ากระบวนการที่ไม่มีการอัปโหลดก่อนหน้านี้ในสคริปต์
ฉันไม่รู้ว่าสิ่งนี้เป็นของ SO หรือไม่ (เพราะเป็นข้อผิดพลาดในการเขียนโค้ด) แต่คิดว่าพวกคุณจะมีความรู้มากขึ้นเกี่ยวกับรายละเอียดปลีกย่อยของซอฟต์แวร์ที่ใช้ (อาจเป็นเพราะคุณอาจพิจารณา U&L) นี่คือสคริปต์โค้ดขั้นต่ำ (ดูการแก้ไขสคริปต์แบบเต็มมีเหตุผลที่ฉันทำเช่นนี้) #/bin/bash nohup {SERVERCOMMAND} > currentOutput.log 2>&1 & less +F currentOutput.log สิ่งที่พยายามทำคือเรียกใช้เซิร์ฟเวอร์ในพื้นหลังซึ่งส่งออกไปยังไฟล์บันทึก จากนั้นผมล็อกไฟล์ที่ใช้follow less +Fในการออกจากสิ่งนี้คุณต้องกดctrl+ cก่อนจึงจะสามารถกดQได้ จะเกิดอะไรขึ้นเมื่อฉันctrl+ cภายในlessคำสั่ง (หยุดtailing) มันจะฆ่าเซิร์ฟเวอร์ที่เริ่มต้นด้วยnohupที่ด้านบน! ไม่มีอะไรได้รับผลกระทบ ฉันสามารถshift+ fเพื่อเริ่มปรับแต่งบันทึกอีกครั้ง (ซึ่งไม่ได้รับข้อมูลใหม่เนื่องจากเซิร์ฟเวอร์ถูกฆ่าตาย) และถ้าฉันกดQส่วนที่เหลือของสคริปต์ดำเนินการตามปกติ คุณรู้ไหมว่าทำไมสิ่งนี้ถึงเกิดขึ้น ฉันจะหลีกเลี่ยง / ใช้อย่างอื่นได้อย่างไร PS โปรแกรมเซิร์ฟเวอร์อาจกำลังฟัง a ^Cซึ่งอาจเป็นปัญหา มีบางอย่างที่ฉันสามารถทำได้เพื่อหยุดสิ่งนั้น เช่นเมื่อฉันเพิ่งรัน{SERVERCOMMAND}ด้วยตัวเอง (ในลักษณะบล็อก) ฉันสามารถกดctrl+ cซึ่งไม่ฆ่ามันทันที มันพิมพ์Received ^C signal, shutting …
15 linux  bash  less  nohup 


2
nohup ระยะไกลหลังจากความจริงกับ tcsh
ฉันมีอินสแตนซ์ tcsh ใน xterm ที่ใช้กระบวนการระยะยาว (สัปดาห์) เซิร์ฟเวอร์ Xvnc ที่กำลังทำงานภายใต้วัชพืชออกไป มันใช้ CPU 100% และไม่ตอบสนอง (นี่เป็นข้อผิดพลาดที่รู้จักและฉันรู้ว่ามันไม่สามารถกู้คืนได้) กระบวนการระยะยาวกำลังปิดกั้น stdout อยู่ มีวิธีใดบ้างที่ฉันสามารถฆ่าโพรเซสต้นแบบ - tcsh, xterm, อะไรก็ได้ - และทำให้โปรเซสระยะยาวทำงานต่อไป? (โปรดไม่มีคำตอบเกี่ยวกับscreenฉันรู้ว่ามันไม่ใช่กระบวนการของฉันมันเป็นของผู้ใช้พวกเขาจะไม่เรียนรู้)
11 kill  tcsh  nohup 

1
Nohup กว่า ssh จะไม่กลับมา
ฉันกำลังพยายามทำ [me@myPc]$ ssh me@server "nohup myBashScript.sh &" เป้าหมายของฉันคือเปิดใช้งานกระบวนการบนเซิร์ฟเวอร์จากนั้นส่งคืนทันที มันไม่ทำงาน: งานเริ่มต้นบนเซิร์ฟเวอร์ แต่ฉันยังได้รับผลลัพธ์ใน myPc และ bash รอให้เสร็จก่อนที่จะถามฉันสำหรับคำสั่งอื่น ทำไม มันไม่ควรที่จะ! มีวิธีใดบ้างที่จะหลีกเลี่ยงสิ่งนั้น? myPc คือ RHEL6.2 เซิร์ฟเวอร์คือubuntu 10.04และ ทั้งสองวิ่ง openssh
11 openssh  nohup 

4
ให้โปรแกรมทำงานต่อหลังจากปิดคอนโซลหลังจากโปรแกรมเริ่มต้น [ซ้ำกัน]
คำถามนี้มีคำตอบอยู่ที่นี่แล้ว : ปิดให้บริการใน7 ปีที่ผ่านมา ซ้ำเป็นไปได้: ฉันจะแยกกระบวนการออกจากเทอร์มินัลได้อย่างไร? ฉันเป็นโปรแกรมที่ทำงานในคอนโซล Unix บนคอมพิวเตอร์ Unix ระยะไกล ฉัน (โง่) ไม่ได้ใช้nohup &งานและตอนนี้ฉันต้องปิดคอนโซลท้องถิ่น มีวิธีใดบ้างที่จะให้มันทำงานต่อจากระยะไกลหลังจากปิดคอนโซลท้องถิ่น
8 unix  nohup 

1
ไปป์ / ส่งคำสั่งเพื่อประมวลผลการทำงานใน nohup ที่รับอินพุตจาก STDIN
nohup program &ผมมีโปรแกรมที่ผมทำงานใช้ STDINโปรแกรมนี้จะรับข้อมูลจาก มีวิธีการส่งข้อความไปยังSTDINโปรแกรมที่ทำงานผ่านnohupหรือไม่? นี่คือการทำงานของ FreeBSD ที่ทุบตี ฉันต้องการจะดูว่าสิ่งนี้ทำบน linux เช่นกัน
4 pipe  nohup 


1
Nohup ไม่ได้เรียกใช้กระบวนการในพื้นหลัง
ฉันวิ่ง nohup bash -c "while [ true ]; do echo test; done" จากPuTTyลูกค้า SSH แต่หลังจากกระบวนการนี้ไม่ได้ทำงานในพื้นหลังแทนnohupจะเป็นกระบวนการเบื้องหน้าในเปลือก รุ่น SW: nohup (GNU coreutils) 8.5
1 linux  ssh  nohup 

0
วิธีการ ssh, เริ่มต้นด้านบน, และปิดเซสชัน ssh ด้วย ~ / .toprc แบบกำหนดเอง
ถ้าฉันล็อกอินเข้าสู่รีโมตโฮสต์ของฉันผ่าน ssh และรันบนสุดมันจะเลือกไฟล์การกำหนดค่า ~ / .toprc ฉันยังสามารถรันคำสั่งต่อไปนี้ได้สำเร็จ ssh -t <user>@<host> "top -b > top.dat" อย่างไรก็ตามสิ่งนี้ทำให้เซสชัน ssh เปิดตลอดไป ฉันต้องการใช้เซสชัน ssh เพื่อเริ่มกระบวนการ batch สูงสุดและออกจากเซสชัน ssh ปัญหาที่ฉันมีคือทุกสิ่งที่ฉันพยายามอย่างใดอย่างหนึ่งไม่ทำงานหรือไม่ได้รับไฟล์การตั้งค่า ~ / .toprc นี่คือสิ่งที่ฉันได้ลอง: ssh <user>@<host> "top -b > top.dat &" ssh -f <user>@<host> "top -b > top.dat" ssh -f <user>@<host> "nohup top -b > top.dat …
1 bash  ssh  top  nohup 

3
ใช้ nohup ใน Ubuntu - จะทำให้ไม่แสดงหมายเลขงานได้อย่างไร
ฉันใช้คำสั่งนี้: $ nohup command > foo.out 2> foo.err < /dev/null & ปัญหาของฉันคือแม้ว่าจะnohupทำให้คำสั่งของฉันทำงานในพื้นหลัง แต่ก็พิมพ์สิ่งนี้ลงในเทอร์มินัลของฉัน: [1] 27918 ฉันจะทำให้มันไม่ส่งออกหมายเลขงานได้อย่างไร ฉันแค่อยากให้มันทำในพื้นหลังโดยไม่บอกอะไรเลย ใน Mac OS X นั่นเป็นสิ่งที่เกิดขึ้นดังนั้นฉันจึงค่อนข้างรำคาญว่ามันจะทำงานแตกต่างไปจาก Ubuntu ... ขอบคุณสำหรับความช่วยเหลือ!
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.