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

ยูทิลิตี้มาตรฐาน nohup และ nohup ในตัวจากเชลล์เช่น csh ซึ่งทำให้สัญญาณ SIGHUP ถูกละเว้น

1
เหตุใด 'คำสั่ง nohup> & / dev / null' จึงดูเหมือน "ทำงาน" ในเชลล์บางตัว
ฉันแก้ไขคำตอบบน Ask Ubuntu ที่แนะนำต่อไปนี้ nohup gedit >& /dev/null & เมื่อพวกเขาตั้งใจจริง nohup gedit &> /dev/null & หลังได้อย่างถูกต้องเปลี่ยนเส้นทางทั้ง stderr และ stdout /dev/nullไป ฉันคาดหวังว่าอดีตจะสร้างไฟล์ชื่อ&หรือมีแนวโน้มที่จะให้ข้อผิดพลาดเช่นเดียวกับกรณีอื่น ๆ : $ echo "foo" >& bash: syntax error near unexpected token `newline' แต่ดูเหมือนว่ามันจะทำงานในลักษณะเดียวกับที่เคยเป็นมาก่อนgeditหน้าต่างปรากฏขึ้นและไม่มีการพิมพ์ข้อความแสดงข้อผิดพลาด ฉันควรทราบด้วยว่านี่เป็นเชลล์เฉพาะ: bash(4.2.45 (1) -release), zsh(5.0.2), csh(เวอร์ชั่นแพ็คเกจ deb: 20110502-2) และtcsh(6.18.01): ทำงานตามที่อธิบายไว้ข้างต้นไม่มีข้อความแสดงข้อผิดพลาดไม่มีไฟล์ที่สร้างขึ้น dash (0.5.7-3): $ nohup gedit …

1
กำลังออกจากเครื่องที่รัน“ nohup ./my_script &” =>“ คุณมีงานอยู่” ตกลงเพื่อออก
ว่าฉันทำงานต่อไปนี้ในกล่องระยะไกลกับความคิดในการป้องกันการฆ่างานเมื่อฉันยกเลิกการเชื่อมต่อสถานี nohup ./my_script.sh & เมื่อฉันพยายามออกจากเทอร์มินัลฉันได้รับคำเตือนดังต่อไปนี้: zsh: you have running jobs ฉันเข้าใจว่าไม่เป็นไร เป็นเพียงการบอกฉันว่าฉันมีงาน / กระบวนการทำงานในพื้นหลัง หากฉันยกเลิกการเชื่อมต่อเครื่องงาน / กระบวนการจะยังคงทำงานต่อไปถูกต้องหรือไม่

4
ใช้คำสั่ง nohup หลายคำในพื้นหลัง
มีสองคำสั่ง cmd1 และ cmd2 ในทั้งสอง cmd2 ใช้เวลานานกว่าจะเสร็จสิ้น จำเป็นต้องเรียกใช้ cmd2 และ cmd1 พยายามเรียกใช้งานด้วยวิธีต่อไปนี้: bash$ (nohup ./cmd2>result2 &) && nohup ./cmd1>result1 & หรือ bash$ (nohup ./cmd2>result2 &) ; nohup ./cmd1>result1 & แต่ทั้งสองครั้งที่ฉันเห็น cmd1 ไม่รอให้ cmd2 เสร็จสิ้นและ result1 ก็จะเต็ม วิธีที่จะทำให้ cmd1 ทำงานหลังจาก cmd2 เมื่อทั้งสองควรเป็นกระบวนการ nohup และทำงานในพื้นหลัง?

4
กระบวนการ java ยังคงถูกฆ่า
ฉันต้องเรียกใช้โปรแกรมจาวาบนเซิร์ฟเวอร์มหาวิทยาลัยของฉัน ฉันลงชื่อเข้าใช้ผ่านเซิร์ฟเวอร์จากระยะไกลผ่าน ssh ดังนั้นฉันจึงใช้ nohup อย่างนั้น: nohup java -jar project.jar & อย่างไรก็ตามเมื่อฉันออกจากระบบและปิดเทอร์มินัลจากนั้นกลับเข้าสู่เซิร์ฟเวอร์กระบวนการของฉันหายไป / ถูกปิด
11 nohup 

4
วิธี จำกัด จำนวนบรรทัดที่เอาต์พุตของคำสั่งมีอยู่ใน bash?
ฉันเริ่มดาวน์โหลดไฟล์ขนาดใหญ่ในพื้นหลังโดยใช้ $ nohup wget http://example.tld/big.iso & ซึ่งยังทำให้ฉันไฟล์ที่มีการส่งออกของnohup.outwget ตอนนี้ถ้าฉันต้องการดูขั้นตอนการดาวน์โหลดในภายหลังฉันสามารถใช้$ tail -f nohup.outแต่นั่นจะทำให้หน้าต่างเทอร์มินัลของฉันเร็วขึ้นกว่าที่ฉันต้องการ สิ่งที่ฉันต้องการเห็นคือบรรทัดสุดท้ายที่อัปเดตตลอดเวลา (เช่นเมื่อใช้wgetคนเดียว) ฉันพยายาม$ tail -n 1 -f nohup.outแต่ดูเหมือนว่าจะส่งผลกระทบเฉพาะ tailin เริ่มต้น ' โดยทั่วไปแล้วหากเป็นไปได้ที่จะ จำกัด (ในกรณีนี้คือ 1) จำนวนบรรทัดของเอาต์พุตของคำสั่งที่มีอยู่ / มองเห็นได้จะช่วยแก้ปัญหานี้ได้ เรียงลำดับของการมีผลลัพธ์ในบัฟเฟอร์แบบวงกลม - แค่คิดว่าแถบความคืบหน้าปกติ$ wget example.tld/big.isoจะพิมพ์ มีวิธีแก้ปัญหาเหรอ? หรือฉันกำลังปีนต้นไม้ผิดทาง? (หมายความว่ามันจะง่ายกว่าไหมในการ จำกัดnohupเอาต์พุตหรือทำอย่างอื่น?)
11 bash  tail  nohup  stdout 

1
ดำเนินการคำสั่ง Nohup พร้อมอินพุต
ใน UNIX ฉันมีกระบวนการที่ฉันต้องการรันโดยใช้ nohup อย่างไรก็ตามกระบวนการนี้ในบางจุดจะรอที่พรอมต์ที่ฉันต้องป้อนyesหรือnoเพื่อดำเนินการต่อ จนถึงตอนนี้ใน UNIX ฉันได้ทำสิ่งต่อไปนี้: nohup myprocess <<EOF y EOF ดังนั้นฉันเริ่มกระบวนการ 'myprocess' โดยใช้ nohup และไปป์ในไฟล์ด้วย 'y' จากนั้นปิดไฟล์ บรรทัดข้างต้นเป็นคำสั่งที่แยกกันสามคำสั่งอย่างมีประสิทธิภาพ - เช่นฉันกด Enter บนบรรทัดแรกใน UNIX จากนั้นฉันจะได้รับพรอมต์เมื่อฉันป้อน 'y' จากนั้นกด Enter เพื่อพิมพ์ 'EOF' ในที่สุดและกดปุ่ม return อีกครั้ง ดังนั้นสิ่งนี้ทำงานได้อย่างสมบูรณ์แบบ แต่ปัญหาของฉันอยู่ด้านล่าง ฉันต้องการที่จะดำเนินการนี้ใน Perl แต่ฉันไม่แน่ใจว่าฉันสามารถรันคำสั่งนี้เพราะมันมีสามบรรทัด ฉันไม่รู้ว่าสิ่งต่อไปนี้จะได้ผลหรือไม่: my $startprocess = `nohup myprocess <<EOF & y EOF …
11 process  perl  nohup 

1
เหตุใดกระบวนการพื้นหลังของ nohup จึงถูกฆ่า?
ฉันพยายามเริ่มเชลล์สคริปต์ผ่านเซสชันระยะไกลซึ่งเริ่มกระบวนการในพื้นหลังโดยใช้คำสั่ง nohup python3 run.py > nohup.out & เมื่อปิดเซสชันระยะไกลกระบวนการกำลังถูกฆ่าด้วยข้อความ: จับสัญญาณ SIGHUP พบ SIGHUP แล้ว แต่ไม่ได้รับการทำผิด ออกจาก ฉันไม่เข้าใจ ทำไมกระบวนการการฆ่าเมื่อมันถูกเริ่มต้นในพื้นหลังโดยใช้nohup & ?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.