Komputer

Jalankan Proses di Terminal Linux Latar Belakang

Pengarang: Peter Berry
Tarikh Penciptaan: 16 Julai 2021
Tarikh Kemas Kini: 10 Mungkin 2024
Anonim
Linux Tutorial | Running Processes in the Foreground & Background
Video.: Linux Tutorial | Running Processes in the Foreground & Background

Kandungan

Saya seorang pembangun perisian yang berminat dengan analisis data dan statistik.

Sekiranya anda seperti saya dan anda mula tidak suka mengklik ikon untuk melancarkan projek, anda memulakannya dari cengkerang. Sebagai contoh, saya membuka terminal saya atau mempunyai terminal terbuka dan menjalankan perintah VLC. Perintah ini akan membuka pemain media VLC jika anda memasangnya. Tetapi sekarang prosesnya berjalan di latar depan di terminal terbuka anda. Kitaran hidup VLC berkait rapat dengan terminal dan menyekat tindakan lain di terminal. Sekiranya anda tidak mempunyai VLC, gunakan ‘gnome-calculator’ misalnya.

Apabila anda memulakan proses dengan cara ini, anda akan melihat shell menunggu (blok) sehingga program selesai atau ditamatkan.

Sekiranya anda menutup terminal, anda akan diminta oleh terminal: “Masih ada proses yang berjalan di terminal ini. Menutup terminal akan membunuhnya ”. Anda boleh membatalkan atau menutup terminal. Ini kerana proses yang anda mulakan mewarisi beberapa perkara dari cangkang (stdin, stdout, dll). Ini menjadikan proses terikat pada terminal itu.


Apabila anda menutup terminal anda, shell akan menerima SIGHUP. Ini juga mengirimkan SIGHUP ke proses yang anda mulakan. Ini akan menamatkan prosesnya.

Anggaplah anda tidak mahu membunuh prosesnya, tetapi anda tidak memerlukan atau mahu terminal ini lagi. Atau anda mungkin mahu terus menggunakan terminal untuk tugas lain.

Menambah ‘&’ pada Perintah Anda

Dalam kes VLC, prosesnya bergerak ke latar belakang dan anda boleh terus menggunakan terminal sesuai keinginan anda. Anda akan mendapat prompt shell sekali lagi. Selalunya saya terus dari sana atau membersihkan terminal dan menggunakannya untuk tugas lain atau memulakan proses yang berbeza.

Sekiranya anda menutup terminal dengan menekan butang tutup (x) dengan tetikus atau menggunakan Shift + Ctrl + W, maka ia akan menghentikan semua proses yang anda mulakan di terminal tersebut. Masalah ini lebih kurang sama seperti sebelumnya, tetapi kali ini terminal tidak meminta anda untuk melakukannya, ia hanya akan membunuh program dengan segera.

Sekiranya anda mengetik perintah keluar di terminal atau menutup dengan jalan pintas Ctrl + D, ia akan menutup terminal, tetapi proses berjalan akan tetap berjalan. Ini adalah penyelesaian pertama yang saya cuba. Saya masih sering menggunakannya, tetapi ada yang lain. Beberapa mempunyai faedah lain atau memberi anda lebih banyak pilihan jika diperlukan.


$ vlc &

Menambah ‘& tidak dibenarkan’ pada Perintah Anda

Dalam banyak cara, ini (& tidak dibenarkannampaknya melakukan perkara yang sama dengan menambahkan "&" pada perintah. Tetapi apabila anda menambahkan tidak disetujui, prosesnya akan dikeluarkan dari senarai tugas shell. Prosesnya masih disambungkan ke terminal, tetapi tidak menerima SIGHUP.

Salah satu kelemahan yang ditolak adalah bahawa ia adalah bash khusus. Sekiranya anda sering menggunakan sistem yang berbeza yang tidak mengetahui arahan ini, maka ini boleh menyakitkan. Oleh kerana sebahagian besar perintah hampir seperti refleks setelah beberapa saat, anda akhirnya boleh mengetikkan perintah ini pada sistem yang tidak ada gunanya. Tetapi bagi saya ini sebenarnya bukan masalah, tetapi ingatlah.

$ vlc & tidak dibenarkan

Menggunakan ‘setid’ dalam Perintah Shell Anda

Perintah yang dijalankan dengan setid membuka dan / atau menetapkan id sesi baru untuk prosesnya. Id sesi ini berbeza dengan id sesi terminal berjalan semasa. Pohon dari semua proses (menjalankan contoh program) yang berjalan di sistem anda akan menunjukkan bahawa proses dengan id sesi baru bermula pada akar struktur pohon, bukan sebagai cabang proses terminal.


Dengan setid, anda tidak dapat memeriksa output dari proses yang anda mulakan di kemudian hari. Ini adalah sesuatu yang boleh anda lakukan dengan sesuatu seperti nohup dan skrin. Dengan layar ada sesi layar terlampir untuk proses dan dengan nohup Anda dapat memeriksa file output. Tetapi adakah ini sesuatu yang anda perlukan atau mahukan untuk proses yang anda mulakan? Kadang-kadang ini berlaku, tetapi selalunya anda hanya perlu menjalankan program dan itu sahaja.

Anda juga dapat membuatnya menulis ke fail output ketika menggunakan setid.

$ setid vlc

Menggunakan ‘nohup’ Dengan Perintah Anda

Nohup akan memisahkan proses dari terminal. Kerana terputus, ia tidak akan menerima SIGHUP, itulah sebabnya ia dinamakan nohup. Sekiranya anda menutup terminal, proses akan terus berjalan sehingga anda menutupnya.

Apabila terminal dibuka, tugas masih di latar depan dan masih di bawah kawalan tugas shell. Ini bermaksud jika anda hanya menggunakan nohup, anda masih tidak dapat menggunakan terminal itu untuk tugas lain. Oleh itu, anda harus menggabungkannya dengan ‘&’.

$ nohup vlc

$ nohup vlc &

Seperti yang anda lihat, ia menutup / mengabaikan input dan akan menambahkan output ke nohup.out. Penggunaan nohup.out akan memastikan proses masih dapat menuliskan outputnya walaupun terminal berakhir / ditutup.

Perintah asas Linux, ubuntu

Dialog Jalankan

Anda juga boleh memilih untuk tidak memulakan proses dari terminal. Adalah mungkin untuk menggunakan arahan dialog jalankan. Tekan ALT + F2 dan ketik proses yang ingin anda mulakan di skrin dialog. Untuk memulakan pemain media VLC dalam contoh kes kami: vlc.

Artikel ini tepat dan benar sepanjang pengetahuan penulis.Kandungan hanya untuk tujuan maklumat atau hiburan dan tidak menggantikan nasihat peribadi atau nasihat profesional dalam urusan perniagaan, kewangan, undang-undang, atau teknikal.

Penerbitan Yang Popular

Popular

Apakah Triad CIA (dan Cara Menggunakannya Hari Ini)
Internet

Apakah Triad CIA (dan Cara Menggunakannya Hari Ini)

Erin edang belajar mengenai ke elamatan iber. Dia berfikir ecara melua mengenai topik yang berkaitan dengan teknologi dan bagaimana ia mempengaruhi kehidupan eharian kita.Maklumat peribadi kami adalah...
Jenis Pekerjaan Kejuruteraan
Perindustrian

Jenis Pekerjaan Kejuruteraan

Katy membimbing dan mendidik profe ional muda dan membantu mereka yang memulakan kerjaya dan perjalanan kewangan mereka untuk membuat keputu an yang tepat.Kejuruteraan adalah bidang be ar yang merangk...