+/- หมายถึงอะไรถ้าหากงาน linux ในพื้นหลังเสร็จสิ้น (เริ่มต้นด้วย &)


43

ถ้าฉันเริ่มต้นกระบวนการด้วยเครื่องหมายแอมเปอร์แซนด์ ( &) ในตอนท้ายมันจะถูกแยกเป็นพื้นหลัง เมื่อเสร็จแล้วฉันจะได้ผลลัพธ์ที่คล้ายกับ

[1]+  Fertig   my_script

ฉันมีการกระจายภาษาท้องถิ่น แต่สิ่งนี้ไม่สำคัญ

สิ่งที่ฉันเห็นคือรหัสงานในวงเล็บเหลี่ยมตามด้วยเครื่องหมายบวก ( +)

ถ้าฉันเริ่มงานหลายงานพร้อมกันฉันจะได้

[1]-  Fertig   my_script
[2]+  Fertig   my_script

ตอนนี้ฉันมีเครื่องหมายลบ ( -) สำหรับงานกำปั้นและบวก ( +) สำหรับงานที่สอง

ฉันสงสัยว่าสิ่งเหล่านั้น+/ -เฉลี่ย

ไม่พบคำตอบใด ๆ โดยใช้เครื่องมือค้นหาอินเทอร์เน็ต

คำตอบ:


57

จากman bash:

ในการส่งออกที่เกี่ยวข้องกับงาน (เช่นการส่งออกของjobsคำสั่ง) งานปัจจุบันถูกตั้งค่าสถานะเสมอกับและงานก่อนหน้านี้ด้วย+-

นั่นคืองานที่ถูกแฟล็กด้วย a +คืองานที่ถูกส่งไปยังพื้นหลังล่าสุด

นอกจากนี้ยังเป็นสิ่งที่จะถูกนำเข้าสู่เบื้องหน้าเมื่อfgใช้งานโดยไม่มีข้อโต้แย้ง:

$ /tmp/script &
[1] 9871
$ /tmp/script2 &
[2] 9876
$ /tmp/script3 &
[3] 9881
$ /tmp/script4 &
[4] 9886
$ jobs
[1]   Running                 /tmp/script &
[2]   Running                 /tmp/script2 &
[3]-  Running                 /tmp/script3 &
[4]+  Running                 /tmp/script4 &
$ fg
/tmp/script4

งานที่ถูกตั้งค่าสถานะด้วย a -ถูกส่งไปยังพื้นหลังที่สองล่าสุด งานพื้นหลังอื่น ๆ ไม่ถูกตั้งค่าสถานะ


ความสุขของฉันฉันดีใจที่ฉันสามารถช่วย
jaume

1
ดังนั้น + จึงมีประโยชน์ในการบอกว่าคำสั่ง fg / bg จะทำอะไร แต่ - มีประโยชน์สำหรับทุกสิ่งหรือไม่
tsbertalan

@tsbertalan ฉันเห็นด้วยฉันไม่เห็นประโยชน์ใด ๆ เลย ฉันคิดว่ามันสับสนเช่นกันฉันควรคาดหวังว่า - เพื่อระบุงานที่ถูกส่งมาที่พื้นหลังเป็นครั้งแรกแต่อาจเป็นเพียงฉันเท่านั้น ...
jaume

บางครั้งฉันเห็นสอง pluses หรือสอง minuses ที่นั่น ไม่ตรงกับคำนิยาม 'ล่าสุด' หรือ 'ปัจจุบัน' นั่นคือทุบตี 4.3.42
Jan-Philip Gehrcke

8
@tsbertalan ฉันกด Ctrl + Z แล้วfg -สลับไปมาระหว่างสองงาน เครื่องหมายลบมีประโยชน์
cozyconemotel
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.