ฉันจะเริ่มงานที่หยุดทำงานใน Linux ต่อได้อย่างไร? ฉันใช้ emacs และกด ctrl-z โดยไม่ตั้งใจซึ่งทำให้ฉันกลับไปที่คอนโซล ฉันเห็นได้เมื่อพิมพ์ 'jobs'
[*****]$ jobs
[1]+ Stopped emacs test_queue.cpp
ฉันจะเริ่มงานที่หยุดทำงานใน Linux ต่อได้อย่างไร? ฉันใช้ emacs และกด ctrl-z โดยไม่ตั้งใจซึ่งทำให้ฉันกลับไปที่คอนโซล ฉันเห็นได้เมื่อพิมพ์ 'jobs'
[*****]$ jobs
[1]+ Stopped emacs test_queue.cpp
คำตอบ:
คำสั่งfgคือสิ่งที่คุณต้องการใช้ คุณยังสามารถระบุหมายเลขงานได้หากมีงานที่หยุดมากกว่าหนึ่งงาน
คำสั่งควบคุมงานทั่วไปใน Linux คือ:
นั่นคือทั้งหมดที่สวยมาก สังเกต% infront ของหมายเลขงานในคำสั่ง - นี่คือสิ่งที่บอกว่า kill คุณกำลังพูดถึงงานและไม่ได้ประมวลผล
fgและCtrl-C;)
คุณยังสามารถพิมพ์%<process_name>; เช่นคุณกด Ctrl-Z เป็น emacs จากนั้นคุณสามารถพิมพ์%emacsในคอนโซลและนำกลับมาที่พื้นหน้า
เพียงเพื่อเพิ่มคำตอบอื่น ๆทุบตีช่วยให้คุณข้ามfgถ้าคุณระบุหมายเลขงาน
ตัวอย่างเช่นสิ่งเหล่านี้เทียบเท่าและกลับมาทำงานล่าสุด:
%
%%
fg
fg %
งานต่อเหล่านี้ # 4:
%4
fg 4
fg %
%มันเยี่ยมมากขอบคุณ! ในฐานะนักพิมพ์แบบสัมผัสฉันพบว่าfgมันน่ารำคาญมาก (นิ้วเดียวกัน) แต่แล้วเป็นcdเช่นนั้น
bg % % &
หากคุณไม่ได้เรียกใช้จากเทอร์มินัลปัจจุบันให้ใช้ps aux | grep <process name>เพื่อค้นหาหมายเลขกระบวนการ (pid) จากนั้นดำเนินการต่อด้วย:
kill -SIGCONT <pid>
(แม้จะมีชื่อkillเป็นเพียงเครื่องมือในการส่งสัญญาณไปยังกระบวนการอนุญาตให้กระบวนการสื่อสารกันกันและกัน "สัญญาณฆ่า" เป็นเพียงหนึ่งในสัญญาณมาตรฐานจำนวนมาก)
เคล็ดลับโบนัส: ใส่อักขระตัวแรกของชื่อกระบวนการด้วย[]เพื่อป้องกันgrepคำสั่งปรากฏในผลลัพธ์ เช่นเพื่อค้นหาemacsกระบวนการใช้ps aux | grep [e]macs
fgไหม?
Ctrl-zพิมพ์คำสั่งแล้วดำเนินการต่อ เห็นได้ชัดว่าคุณสามารถเรียกใช้คำสั่งโดยไม่ปล่อย Vim ผ่าน:!คำสั่ง ed