nohup menjalankan proses di latar belakang. Ada yang setara untuk Windows?
windows
background-process
nohup
Jader Dias
sumber
sumber
START
perintah tidak melakukan pelepasan, yaitu itu masih anak proses yang membuatnya. Dalam contoh Anda itu akan berarti bahwa 'command3' akan mati setiap kali proses ibu keluar. Unix menghindari ini dengan melakukan dikenal sebagai 'garpu-dua kali' tapi saya tidak tahu yang setara di Windows.exec(<some windows executable>)
. Saya dapat dengan jelas melihat di Process Explorer hubungan orangtua-anak dan apa pun yang saya mulai dari dalamexec()
tidak bertahan. Benar bahwa tampaknya berfungsi jika saya memulaicmd.exe
dari Start Menu di mana proses yang dimulai tampaknya menjadi yatim piatu 'dengan benar' ketikacmd.exe
keluar. Jelas saya perlu memahami ini dengan lebih baik. :-(Anda mungkin ingin melihat layanan windows. Ada beberapa alat yang dapat Anda unduh untuk meng-host proses apa pun sebagai layanan windows. Ini menyebabkan proses memuat di latar belakang saat startup windows, jadi asalkan tidak memerlukan interaksi pengguna Anda harus dapat meng-host-nya seperti ini.
Kit Sumber Daya Windows Server 2003
Alat yang Anda cari disebut srvany.exe.
sumber
Satu-satunya cara, di Windows, Anda dapat memiliki proses yang dimulai oleh pengguna terus berjalan setelah logoff (yaitu apa yang "nohup" lakukan) adalah memulainya baik melalui "tugas yang dijadwalkan" atau sebagai layanan Windows. Ketika pengguna keluar dari semua proses dalam sesi masuk mereka akan dibunuh.
Jika Anda ingin mencoba metode "Tugas Terjadwal", Anda pasti ingin tahu cara membuatnya secara terprogram. The Win32_ScheduledJob kelas WMI bisa melakukannya. Dokumentasi disediakan secara terperinci di sini: http://www.microsoft.com/technet/scriptcenter/guide/sas_man_rsxs.mspx?mfr=true Pada dasarnya, Anda sedang melakukan (tanpa malu dicuri dari Microsoft):
Untuk memberikan "pengguna joe" kemampuan untuk membuat tugas yang dijadwalkan, Anda harus mengubah izin pada folder% SystemRoot% \ Tasks. Lihat di sini untuk beberapa info di bagian depan itu: http://technet.microsoft.com/en-us/library/cc785125(WS.10).aspx
sumber
Ini semua tergantung pada apa tujuan akhir Anda. Anda bisa menjalankan tugas terjadwal dengan opsi hanya jika pengguna logon diatur ke DISABLED. Anda mungkin dapat menggunakan psexec dari mesin jarak jauh. Lebih baik lagi menjalankan proses sebagai layanan. Lihatlah pencarian Google ini , ini pencarian Google lainnya , utas ini , dan utas lainnya ini untuk beberapa kemungkinan arahan dalam pencarian Anda untuk solusi. Pada akhirnya tampak bahwa tidak ada yang setara dengan nohup pada mesin Windows.
sumber