Bir işlemden ^ Z yaparsanız, “durur” olur. Tekrar nasıl girersiniz?


81

Yanlışlıkla telnetişlemimi "durdurdum" . Artık ne “geri” koyabiliyorum, ne de öldüremiyorum (buna cevap kill 92929vermeyecek, 92929'un süreci var.)

Öyleyse benim sorum şu, eğer Linux komut satırında durmuş bir işlem varsa, başvurmak zorunda kalmadan nasıl geri dönebilir ya da öldürürsün kill -9?

Yanıtlar:


90

En kolay yol, fgön plana çıkarmak için koşmak :

$ help fg
fg: fg [job_spec]
    Move job to the foreground.

    Place the job identified by JOB_SPEC in the foreground, making it the
    current job.  If JOB_SPEC is not present, the shell's notion of the
    current job is used.

    Exit Status:
    Status of command placed in foreground, or failure if an error occurs.

Alternatif olarak, bgarka planda devam ettirmek için koşabilirsiniz :

$ help bg
bg: bg [job_spec ...]
    Move jobs to the background.

    Place the jobs identified by each JOB_SPEC in the background, as if they
    had been started with `&'.  If JOB_SPEC is not present, the shell's notion
    of the current job is used.

    Exit Status:
    Returns success unless job control is not enabled or an error occurs.

Eğer yeni vurduysanız Ctrl Z, işi geri getirmek için fghiçbir tartışma olmadan çalıştırın .


Teşekkürler!! Sanırım bu, Alt + Tab'ın eşdeğeridir. fg telnetYine de yaptığım anda ne olduğunu biliyor musun . TerminatedMuhtemelen önceki killcmd b / c dedi .
bobobobo

@bobobobo muhtemelen, evet. Her neyse, fgherhangi bir tartışmaya ihtiyaç duymaz. Az önce vurduysanız ^Z, fgaynı terminalde koşun ve ilk işi geri getirin.
terdon

48

jobsAskıya alınan işlemi listelemek için kullanabilirsiniz . Örnek al. Bir işlemle başla:

$ sleep 3000  

Sonra süreci askıya alırsınız:

^Z
[1]+  Stopped                 sleep 3000

İşlemi listeleyebilirsiniz:

$ jobs
[1]+  Stopped                 sleep 3000

ve onu ön plana geri getirin:

$ fg %1
sleep 3000

%1Karşılık gelir [1]listelenen jobskomut.


18

killDEVAM sinyalini komut satırından göndermek için komutu kullanarak askıya alınmış bir işlemi yeniden başlatabiliyor olmalısınız , böylece:

kill -CONT 92929

Bu işlemin devam etmesine neden olacak, ancak ön plana çıkarılmayacaktır.
bahamat

@ bahamat Evet, oldukça doğru. Biri hala fgorijinal terminalin içinde olmalı . Kaynaklardan tasarruf etmek için -STOP ve -CONT gui programlarını seviyorum, ancak yine de arka planda etkin bir şekilde çalışıyorlar.
Geeb

Durumunda sleepbunun will kill); hangi işlemi .. istediğini değil
Timo
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.