Bagaimana cara mematikan komputer setelah tugas selesai?


8

Saya biasanya memulai unduhan sebelum pergi ke sekolah.
Perintah mana yang harus saya gunakan untuk secara otomatis melakukan penyelamatan yang diperlukan dan mematikan komputer setelah tugas tertentu selesai?
(Katakan, setelah menginstal pembaruan, atau setelah mengunduh file besar.)

Saya juga mengirim silang ini di unix.stackexchange .


1
Jika Anda mengunduh torrent, maka beberapa dari mereka memiliki opsi untuk mematikan setelah selesai. pastikan penyelesaian berarti 100% dan bukan penyemaian. Dan jika Anda melakukannya di sepanjang baris perintah, cukup tambahkan tanda && di akhir perintah untuk menghentikan PC secara otomatis. && berarti mengeksekusi setelah.
theTuxRacer

Hampir semua jawabannya benar, ya. Semakin banyak perincian yang Anda berikan tentang jenis unduhan dan program yang Anda gunakan, semakin kami bisa akurat :)
Pitto

Saya pikir proses berdasarkan jawaban dalam postingan silang Anda adalah salah satu yang terbaik dan paling fleksibel yang pernah saya lihat. unix.stackexchange.com/a/65060/21070 Anda mungkin dapat menggunakan `ps -elf | grep <somthing_related_to_task> untuk mengidentifikasi PID yang akan kedaluwarsa pada akhir proses.
TafT

Jawaban:


8

Saya tahu ini tidak menjawab pertanyaan Anda tetapi Anda juga dapat membuatnya berdasarkan waktu, yaitu jika Anda berpikir bahwa unduhan Anda akan selesai dalam 2 jam, Anda cukup mengeluarkan perintah:

shutdown -h +120

8

Untuk melakukannya sekali, Anda dapat mematikan mesin tanpa kata sandi:

Buka baris perintah dan ketik:

sudo visudo 

Di File yang terbuka tambahkan baris berikut di akhir:

yourusername ALL=NOPASSWD: /sbin/halt

Kemudian keluar dari editor dan simpan ( Ctrl+ X).

Sekarang Anda dapat mematikan komputer dari baris perintah, mis. Setelah Anda mengunduh sesuatu:

wget UrlOfTheFileYouWantToDownload && sudo halt

4
Untuk memastikan bahwa wget dikembalikan tanpa kesalahan, ganti ";" dengan "&&".
David Rivers


3

Jawaban lain benar, tetapi melewatkan sesuatu:

wget UrlOfTheFileYouWantToDownload ; sudo halt

vs.

wget UrlOfTheFileYouWantToDownload && sudo halt

Yang kedua hanya akan mematikan komputer jika wgetberhasil kembali. Yang pertama akan berhenti jika wgetberhasil atau gagal.


2

Anda dapat menggunakan manajer unduhan atau klien torrent untuk mematikan pc setelah selesai atau seandainya Anda mendefrag hard disk Anda dapat mengklik pada shut down setelah selesai yang tersedia di sebagian besar perangkat lunak


2

Saya kira itu sangat tergantung pada bagaimana Anda melakukan 'unduhan' Anda.

Jika Anda berbicara tentang pembaruan apt-get, perbarui urutan, sebagai root Anda merangkai perintah Anda menggunakan && (urutan hanya berlanjut jika tidak ada kesalahan)

sudo su -
apt-get update && apt-get upgrade && shutdown -h now

Jika Anda berbicara tentang pengunduhan (mis. Menggunakan wget) [lagi, merangkai perintah bersama menggunakan && notasi, memastikan bahwa perintah dijalankan hanya jika perintah sebelumnya berhasil]

sudo su -
wget -t0 -c http://somedownloadsite/path/file.foo && shutdown -h now

Jika unduhan Anda dilakukan oleh klien grafis (gui), maka itu akan tergantung pada mekanisme klien untuk mengeksekusi skrip setelah unduhan berhasil.


2
Perintah-perintah itu tidak akan berfungsi karena sudo su -memulai shell baru dan perintah setelah titik koma tidak dieksekusi sampai shell baru berakhir.
loevborg

Komentar yang adil. telah memodifikasi instruksi untuk menunjukkan bahwa mereka adalah urutan perintah yang terpisah.
finley

1

Saya pribadi merasa lebih mudah menggunakan gedit untuk mengatur yang asli

yourusername ALL=NOPASSWD: /sbin/halt    

karena sudo visudomembingungkan saya dan tidak menunjukkan baris terakhir dengan jelas

Jadi saya menggunakan

sudo -H gedit /etc/sudoers

kemudian berakhir dengan halaman yang jelas (untuk saya)

# User privilege specification
root    ALL=(ALL:ALL) ALL


# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

#includedir /etc/sudoers.d
shantiq ALL=NOPASSWD: /sbin/halt

Hanya berpikir saya akan menyebutkan bahwa kalau-kalau ada orang lain yang agak bingung juga


1

Alih-alih mengubah izin pada penutupan, Anda dapat melakukan hal berikut:

sudo bash -c 'apt-get update; apt-get dist-upgrade; shutdown -h now'

Apa yang dilakukan adalah menjalankan bash prompt sebagai root yang mengeksekusi item dalam daftar yang dikutip lalu berhenti. Bonus dari metode ini adalah bahwa Ubuntu akan melupakan sudootentikasi awal Anda setelah beberapa periode (tergantung pada periode batas waktu yang ditetapkan - 15 menit secara default) dan seseorang yang datang di mesin Anda hanya dapat menghentikan perintah saat ini, tidak menjalankan yang baru. Juga, untuk semua orang yang mengatakan untuk menggunakan su, coba:

sudo -s

bagaimana jika jaringan turun untuk waktu yang singkat dan apt-get gagal melakukan tugasnya?
Quamis

1
Saya akan berasumsi Anda masih ingin mematikan. Jika ada tahapan perintah di -c gagal yang lain akan berlanjut karena saya menggunakan titik koma alih-alih && (setiap perintah yang dirantai dengan && hanya akan berfungsi jika masing-masing berhasil pada gilirannya).
Calcipher

0

Saya tidak berpikir Anda bisa melakukan itu ... Tidak ada cara Anda bisa tahu kapan aplikasi tertentu selesai.

Dulu saya lakukan sudo su; sleep 3600; halt;


mengapa suara turun?
Quamis

Seseorang mungkin tidak setuju dengan bagian 'tidak ada cara untuk mengetahui'?
belacqua
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.