Secara teratur saya lupa menambahkan && shutdown -h now
proses yang sudah berjalan lama. Apakah ada cara untuk menambahkan shutdown -h now
perintah setelah perintah pertama dipanggil? Itu tidak dimaksudkan untuk mengganggu proses yang sedang berlangsung. Mungkin bisa menonton PID?
command-line
bash
shutdown
process
brubaker
sumber
sumber
&&
hanya akan berjalan jika perintah sebelumnya berhasil. Jika Anda ingin menjalankannya bahkan jika perintah gagal digunakan;
sebagai gantinya.Jawaban:
Tidak perlu berulang kali menjalankan ps untuk mencantumkan semua proses dan menangkap melalui output. Latar belakang proses dengan ctrl-Z, lalu jalankan
Jika Anda memiliki pekerjaan latar belakang lain yang sedang berjalan, maka Anda akan diberikan jobspec yang berbeda alih-alih [1] saat Anda ctrl-z. Jika demikian, gunakan itu sebagai gantinya.
sumber
Anda dapat melakukan sesuatu seperti ini, yang akan memeriksa apakah proses berjalan setiap 5 detik dan mengambil tindakan yang sesuai:
Perhatikan tanda kurung siku dalam
grep
ekspresi. Ini untuk memastikan bahwagrep
prosesnya tidak cocok jika berakhir dips
daftar. Mengelilingi setiap karakter tunggal dengan tanda kurung adalah cukup.sumber
Saya melakukan ini sepanjang waktu.
&&
perintah saya .fg && shutdown -h now
ke:Atau, Anda dapat memilih seperti yang disarankan dalam jawaban lain seperti ini:
sumber
Jika Anda tahu pid, Anda dapat menjalankan ini:
Untuk menjalankan tanpa gema dari ps lakukan ini:
Dan akhirnya menjalankannya di latar belakang tanpa output apa pun:
Solusi Scott adalah solusi yang bagus, tetapi ini menghilangkan kebutuhan untuk
grep
berulang-ulang jika Anda sudah tahu pid. Dan itu jauh lebih cepat untuk mengetik.: Psumber
Buat skrip shell untuk menjalankan kedua proses:
MyShellScript.txt:
Setelah menyimpan ini di direktori tempat Anda memulai proses yang diberikan, lakukan:
Kemudian ketika Anda ingin menjalankan perintah ketik saja
./MyShellScript.txt
dan itu akan melakukan keduanya untuk Anda.sumber