kzen.dev
  • Pertanyaan
  • Tag
  • Pengguna
Notifikasi
Imbalan
Registrasi
Setelah Anda mendaftar, Anda akan diberitahu tentang balasan dan komentar untuk pertanyaan Anda.
Gabung
Jika Anda sudah memiliki akun, masuk untuk memeriksa pemberitahuan baru.
Akan ada hadiah untuk pertanyaan, jawaban, dan komentar tambahan.
Lebih
Sumber
Sunting
 Ronin
Ronin
Question

nilai yang dikembalikan dari sistem() dalam C

Saya menggunakan perintah system() di C untuk mengeksekusi perintah seperti sc query mysql atau net start mysql.

Jika parameternya adalah null pointer maka ia mengembalikan 1 jika prosesor cmd OK, jika tidak maka ia mengembalikan 0. Pada eksekusi perintah yang sukses, ia mengembalikan 0.

Pertanyaan saya adalah: Dapatkah saya mendapatkan daftar nilai kembalinya? Seperti apa yang akan dikembalikan jika perintahnya tidak valid atau apa nilai yang dikembalikan pada eksekusi yang tidak berhasil? Saya ingin melakukan hal yang berbeda tergantung pada nilai balik dari system().

10 2011-12-28T09:32:02+00:00 3
MD XF
MD XF
Pertanyaan edit 4 November 2016 в 9:56
Pemrograman
c
system
return
Sangeeth Saravanaraj
Sangeeth Saravanaraj
28 Desember 2011 в 10:18
2011-12-28T10:18:42+00:00
Lebih
Sumber
Sunting
#15063126

Yang perlu Anda lakukan adalah man system untuk mengetahui lebih banyak tentang system()

DESKRIPSI system() mengeksekusi perintah yang ditentukan dalam perintah dengan memanggil perintah /bin/sh -c, dan kembali setelah perintah telah selesai. Selama eksekusi perintah, SIGCHLD akan diblok, dan SIGINT dan SIGQUIT akan diabaikan.

NILAI KEMBALIAN Nilai yang dikembalikan adalah -1 jika terjadi kesalahan (misalnya fork(2) gagal), dan status pengembalian perintah jika tidak. Yang terakhir ini Status yang terakhir ini dalam format yang ditentukan dalam wait(2). Dengan demikian, kode keluar dari perintah akan menjadi WEXITSTATUS(status). Jika /bin/sh tidak dapat dieksekusi tidak dapat dieksekusi, status keluar akan menjadi status dari perintah yang melakukan keluar(127). Jika nilai perintah adalah NULL, system() mengembalikan status nonzero jika shell tersedia, dan nol jika tidak.

 hoss
hoss
Jawaban edit 30 Maret 2016 в 2:39
11
0
Solution / Answer
 A4L
A4L
28 Desember 2011 в 9:46
2011-12-28T09:46:27+00:00
Lebih
Sumber
Sunting
#15063124

Sebagai dokumen

state system() mengembalikan -1 jika membuat proses baru untuk perintah yang akan dieksekusi gagal, jika tidak maka mengembalikan kode keluar dari perintah yang dieksekusi. ini adalah nilai yang sama yang dapat Anda ambil menggunakan echo $? di unix atau echo %ERRORLEVEL% di windows setelah mengeksekusi perintah yang sama dalam shell. Jadi, jika Anda ingin menangani nilai yang dikembalikan, Anda harus melihat apa yang dikembalikan oleh perintah yang dieksekusi.

 A4L
A4L
Jawaban edit 18 November 2015 в 8:08
10
0
 nos
nos
28 Desember 2011 в 9:52
2011-12-28T09:52:48+00:00
Lebih
Sumber
Sunting
#15063125

system() mengembalikan kode keluar dari proses yang Anda mulai.

Kode exit umumnya hanya memiliki konvensi bahwa kode exit 0 berarti sukses dan bukan nol berarti gagal. Untuk arti sebenarnya dari berbagai kode keluar, kode-kode tersebut khusus untuk setiap program, dan kemudian sesuai dengan keinginan programmer. Anda harus mencari dokumentasi dari program tertentu yang sedang Anda jalankan (Meskipun lebih sering daripada tidak, itu tidak didokumentasikan, jadi Anda harus membaca kode sumbernya)

5
0
Tambahkan pertanyaan
Kategori
Semua
Teknologi
Budaya / Rekreasi
Kehidupan / Seni
Ilmu Pengetahuan
Profesional
Bisnis
Pengguna
Semua
Baru
Populer
1
Daniel Gogov
Terdaftar 6 hari yang lalu
2
工藤 芳則
Terdaftar 1 minggu yang lalu
3
Ирина Беляева
Terdaftar 2 minggu yang lalu
4
Darya Arsenyeva
Terdaftar 2 minggu yang lalu
5
anyta nuam-nuam (LapuSiK)
Terdaftar 2 minggu yang lalu
ID
JA
© kzen.dev 2023
Sumber
stackoverflow.com
di bawah lisensi cc by-sa 3.0 dengan atribusi