Saya sedang dalam proses menyiapkan CruiseControl.NET. Masalah yang saya alami adalah saya menjalankan CC sebagai aplikasi konsol dan ketika build saya berhasil diselesaikan dan dijalankan (menggunakan exec), ia meluncurkannya dalam prompt DOS CruiseControl. Saya hanya menggunakan file batch sederhana untuk meluncurkan aplikasi saya tetapi menjalankannya dalam prompt yang sama dengan CC menyebabkan CC berpikir bahwa build akan terus berlanjut selama aplikasi saya berjalan.
Apakah ada parameter baris perintah cmd.exe
yang akan memunculkan jendela prompt terpisah lainnya?
windows
command-line
cmd
Mark Stahler
sumber
sumber
DETACHED_PROCESS
(yaitu tidak ada konsol) . Jika dimulai dengan bendera kreasiCREATE_NEW_CONSOLE
(seperti yangstart
digunakan CMD ), DLL basis selalu mengalokasikan konsol baru alih-alih mewarisi konsol induk.Jawaban:
Saya pikir ini berhasil:
sumber
Ini kode yang Anda butuhkan:
sumber
@cmd
lakukan? Apakah ada dokumentasi untuk itu?@
menekan output langsung yang biasanya akan muncul di prompt tetapi perintah akan tetap dijalankan.^
. :( Ada cara untuk menangani ini?Cukup ketik
start
di command prompt:Ini akan membuka
cmd
jendela baru .sumber
membuka jendela terpisah
membuka file batch dan menjalankannya di command prompt lain
sumber
Anda cukup mengetik 3 perintah ini dari command prompt:
start
start cmd
start cmd.exe
sumber
Untuk membuat jenis file cmd, yang harus Anda lakukan adalah menyimpan konten sebagai .bat, yaitu
Buat itu menjadi file "example.bat", simpan, lalu buka dan jalankan.
sumber
tulis sederhana di file bat Anda
atau
sumber
&
menjalankan beberapa perintah di prompt baru. Saya suka menambahkanexit
sehingga menutup prompt ketika perintah selesai dijalankan.Saya juga mencoba menjalankan file batch yang menjalankan proses / server daemon di akhir tugas CCNET; Satu-satunya cara untuk membuat CruiseControl menelurkan proses asinkron independen TANPA menunggu akhir proses adalah:
gunakan penjadwal tugas untuk menjalankan file batch sebagai tugas CCNET (menggunakan schtasks.exe)
Anda mungkin perlu menghentikan proses di awal ccnet
NB: jawaban yang dipilih menggunakan "mulai cmd.exe" tidak berfungsi; prompt perintah baru memang muncul, tetapi CCNET akan menunggu cmd yang muncul selesai.
sumber