Pertanyaan Bagaimana saya bisa melanjutkan pekerjaan yang dihentikan di Linux?


Bagaimana saya bisa melanjutkan pekerjaan yang dihentikan di Linux? Saya menggunakan emacs dan secara tidak sengaja menekan ctrl-z yang menghempaskan saya kembali ke konsol. Saya bisa melihatnya ketika saya mengetik 'pekerjaan'

[*****]$ jobs
[1]+  Stopped                 emacs test_queue.cpp

290
2018-04-08 09:38


asal


Ini sebenarnya adalah alur kerja yang cukup normal untuk Vim, jika Anda ingin menyimpan perintah Anda dalam riwayat bash Anda, maka Anda menekan Ctrl-z ketik perintah Anda dan kemudian lanjutkan. Tentunya Anda dapat menjalankan perintah tanpa meninggalkan Vim melalui :! perintah ed - icc97


Jawaban:


Perintah fg adalah apa yang ingin Anda gunakan. Anda juga dapat memberikan nomor pekerjaan jika ada lebih dari satu pekerjaan yang dihentikan.


329
2018-04-08 09:39



untuk referensi, fg adalah "foreground". Anda juga dapat melanjutkan pekerjaan di latar belakang dengan "bg". - Sirex


Perintah kontrol pekerjaan umum di Linux adalah:

  • pekerjaan - daftar pekerjaan saat ini
  • fg - lanjutkan pekerjaan yang ada di antrian berikutnya
  • fg% [angka] - melanjutkan pekerjaan [angka]
  • bg - Tekan pekerjaan berikutnya di antrean ke latar belakang
  • bg% [angka] - Tekan pekerjaan [angka] ke latar belakang
  • kill% [number] - Bunuh pekerjaan bernomor [angka]
  • bunuh - [sinyal]% [angka] - Kirim sinyal [signal] ke nomor pekerjaan [number]
  • menolak% [number] - tidak mengakui proses (tidak ada lagi terminal akan menjadi pemilik), jadi perintah akan tetap hidup bahkan setelah menutup terminal.

Itu cukup banyak dari mereka. Perhatikan% infront dari nomor pekerjaan di perintah - ini adalah apa yang memberitahu membunuh Anda sedang berbicara tentang pekerjaan dan bukan proses.


227
2018-04-08 11:55



Saya menghindari "kill% 1" karena salah ketik "kill 1" benar-benar sangat buruk :) - barrycarter
@barrycarter Itu sangat benar. Saya biasanya melakukan fg dan a Ctrl-C ;) - Majenko
@barry: Itulah sebabnya mengapa init di Upstart mengabaikan SIG {TERM, KILL} secara default. - Hello71
Dan, tentu saja, "tidak pernah berjalan sebagai root";) - barrycarter


Anda juga bisa mengetik %<process_name>; yaitu, Anda menekan Ctrl-Z di emacs, lalu Anda dapat mengetik %emacs di konsol dan membawanya kembali ke latar depan.


44
2017-08-26 21:04



Sangat bagus untuk diketahui - ZAD-Man


Hanya untuk menambah jawaban yang lain, pesta memungkinkan Anda melewati fg jika Anda menentukan nomor pekerjaan.

Misalnya, ini setara dan melanjutkan pekerjaan terbaru:

%
%%
fg
fg %

Ini melanjutkan pekerjaan # 4:

%4
fg 4

28
2018-04-08 14:03



Meskipun ini agak keren, saya masih merasa lebih mudah untuk mengetik fg dari %. - rr-
% luar biasa, terima kasih! Sebagai pengetik-sentuhan, saya temukan fg sangat menjengkelkan (jari yang sama). Tapi kemudian, begitulah cd. - Gauthier
Dan Anda bisa memulainya di latar belakang dengan baik bg % atau hanya % &. - Wildcard


Jika Anda tidak meluncurkannya dari terminal saat ini, gunakan ps aux | grep <process name> untuk menemukan nomor proses (pid), kemudian lanjutkan dengan:

kill -SIGCONT <pid>

12
2018-02-04 19:49



Ini juga berfungsi jika Anda menolak proses yang dihentikan - mabraham