วิธีส่งคำสั่ง / กระบวนการไปเบื้องหลัง

หลายครั้งเมื่อเราทำงานในเทอร์มินัลเราต้องการรันคำสั่ง แต่เพื่อให้สามารถปิดเทอร์มินัลได้และสิ่งที่เราดำเนินการไม่ได้ปิดตัวอย่างเช่นรันสคริปต์ในเทอร์มินัลแล้วปิดเทอร์มินัล แต่ สคริปต์ยังคงดำเนินการต่อไป ... จะบรรลุสิ่งนี้ได้อย่างไร?

เพื่อให้บรรลุสิ่งนี้เราต้องใส่เครื่องหมาย & ที่ท้ายบรรทัดตัวอย่างเช่นเรามีสคริปต์ที่ชื่อว่า wifi-log.sh และเพื่อดำเนินการและอยู่ในพื้นหลังจะเป็น:

./wifi-log.sh &

ดูภาพหน้าจอที่นี่:

คำสั่งในพื้นหลัง

ที่นี่เราเห็นได้อย่างชัดเจนว่าหลังจากที่เราดำเนินการตามบรรทัดด้านบนแล้วจะไม่มีอะไรปรากฏอีกยกเว้น [1] 29675 นี่หมายความว่าอย่างไร

29675 คือ PID (หมายเลขกระบวนการ) ของสคริปต์ที่เราดำเนินการนั่นคือถ้าเราต้องการฆ่าสคริปต์และหยุดดำเนินการเราก็ใส่:

ฆ่า 29675

และ voila ก็หยุดวิ่ง

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

นี่ไม่ใช่สิ่งใหม่ แต่ไกลจากมัน แต่ ... มันเป็นเรื่องดีเสมอที่จะชัดเจนและโพสต์นี้จะเป็นประโยชน์ต่อฉันสำหรับอีกเรื่องหนึ่งที่ฉันจะเผยแพร่ในไม่ช้า


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา

  1.   เพอร์แคฟ_TI99 dijo

    ขอบคุณสำหรับเคล็ดลับรายละเอียดเล็ก ๆ ที่มีประโยชน์มาก

    นอกประเด็น: สุขสันต์วันหยุดครับทุกคน

    1.    KZKG ^ กาอาระ dijo

      ขอบคุณด้วย

  2.   ผู้พิทักษ์คอมพิวเตอร์ dijo

    มันจะไม่เจ็บที่จะพูดคุยเกี่ยวกับคำสั่ง fg y bg; โดยเฉพาะอย่างยิ่งหลังเพื่อส่งกระบวนการไปยังส่วนหน้าและ / หรือพื้นหลัง

    มีประโยชน์มากหากเราลืมใส่เครื่องหมาย & หลังคำสั่ง😉

    ทักทาย compi

  3.   อธียูส dijo

    คุณควรพูดคุยเกี่ยวกับการรอเพื่อขยายหัวข้ออีกเล็กน้อยซึ่งจะใช้ในบางโอกาสกับ $$ PID และ $ PID หรือปฏิเสธตัวอย่างเช่นเพื่อเปลี่ยนเชลล์ของกระบวนการ:

    sudo apt-get update &
    [1] 3983

    disown 3983

    ในเปลือกอื่น

    sudo reptyr 3983

    ทักทาย😀

    1.    KZKG ^ กาอาระ dijo

      ขอบคุณสำหรับข้อมูล🙂

  4.   ความรู้สึกสบาย dijo

    มีประโยชน์มากขอบคุณฉันรู้ว่าหน้าจอเลียนแบบ windows และฉันต้องใช้กับ rtorrent เมื่อนานมาแล้ว ฉันเพิ่มบทช่วยสอนที่คุณใช้ในเวลานั้นเผื่อว่าจะมีคนสนใจ
    http://tuxpepino.wordpress.com/2007/05/24/%C2%BFconocias-screen/

    อาศิรพจน์

  5.   Anibal dijo

    นอกจากนี้ยังสะดวกมากในการใช้คำสั่ง SCREEN แต่มันก็มีขั้นสูงกว่าอยู่แล้ว

  6.   ฮิวโก้ dijo

    สำหรับคนที่หน้าจอขั้นสูงลองใช้ byobu มันเป็นสิ่งที่ฉันมักจะใช้และสะดวกสบายมากและในแถบสถานะจะให้ข้อมูลที่เป็นประโยชน์
    ป.ล. ฉันขอโทษสำหรับการเขียน desde Linux (ขี้เกียจไม่รีสตาร์ทหลังเล่น GRID2)

    1.    ฮิวโก้ dijo

      ขอโทษฉันหมายถึง "ไม่ได้เขียน"

      1.    f3niX dijo

        คุณสามารถเขียนได้จากทุกที่ที่คุณต้องการเพื่อนที่เคารพที่นี่

        1.    Eliotime3000 dijo

          ใด สลิปของปากกา ให้อภัยเพราะปกติแล้วมันไม่เหมือน Disqus

  7.   เอาใจช่วย dijo

    Öฉันทำมันมาตลอด→กระบวนการ nohup &

  8.   นักล่า dijo

    และจะเกิดอะไรขึ้นถ้าคุณมีกระบวนการทำงานอยู่แล้วและคุณตัดสินใจที่จะย้ายไปที่พื้นหลัง?

    Ctrl + z แล้วมันจะหยุดอยู่กับงานคุณสามารถดูว่ามันมีหมายเลขอะไรและด้วย bg ที่คุณวางไว้เพื่อรันในแบ็คกราวด์

    $mc
    $ ctrl + z
    $ งาน
    [1] + หยุดแล้ว / usr / bin / mc -P "$ MC_PWD_FILE" "$ @"
    bg 1

    1.    เพอร์แคฟ_TI99 dijo

      ฉันกำลังอัปเดต Archlinux และฉันเปลี่ยนเป็น 2 ระนาบ (pacman -Syu) โดย ctrl + z มันบอกหมายเลขที่มีอยู่แล้วตอนนี้ถ้าฉันต้องการให้มันกลับไปที่เบื้องหน้าจะใช้คำสั่งอะไรหรือคุณมี เพื่อฆ่ากระบวนการและเรียกใช้อีกครั้ง

      1.    Matias dijo

        ด้วยคำสั่ง "fg` 🙂

        สำหรับอดีต
        pacman -Syu
        ctrl-z # หยุดมัน
        bg # ส่งไปที่การทำงานเบื้องหลัง
        fg # นำกลับมาไว้ด้านหน้า🙂

  9.   MSX dijo

    fg หรือ% เพื่อย้อนกลับไปยังกระบวนการที่ทำงานอยู่เบื้องหลัง:
    $fg
    $% 2
    $fg 3

  10.   มาใช้ linux กันเถอะ dijo

    คนรักเทอร์มินัลและทำงานอยู่เบื้องหลังอาจพบว่าบทความต่อไปนี้เป็นประโยชน์:
    https://blog.desdelinux.net/asignar-prioridad-a-comandos-ejecutados-desde-el-terminal/
    https://blog.desdelinux.net/como-recibir-notificaciones-al-finalizar-la-ejecucion-de-un-comando-en-un-terminal/
    https://blog.desdelinux.net/como-cerrar-un-terminal-sin-que-se-cierre-el-programa-ejecutado-desde-el-mismo/
    กอด! พอล

  11.   จากความหย่อนคล้อย dijo

    สวัสดีสบายดีไหม
    ฉันกำลังทดสอบการเรียกใช้น้ำมันดินในพื้นหลังและมันลงเอยด้วยการรันในครั้งแรก
    การใช้บรรทัดคำสั่ง tar cvf backup.tar / var &.
    หากคุณสามารถให้ความช่วยเหลือฉันได้ ฉันได้ลองไปป์แล้วด้วยสคริปต์ แต่ฉันไม่ประสบความสำเร็จ