No.1
- 回答日時:
私も調べてみましたが,いまいちはっきりわからなかったので,以下想像です。
manの記述は,fork()またはexec()で失敗したときのみ-1を返すというようにも読めるので,この場合はshの終了ステータスが返ってきてるのではないでしょうか? shのmanページでは,0以外は何らかのエラーということのようです。
あるいはsystem()と同じライブラリー(stdlib.h)に定義されている EXIT_FAILURE が返ってきているのかもしれません。ちなみにこの場合もうまくいったことを表すと思われる EXIT_SUCCESS の値は0です。
というわけで,あまりお役に立ちそうもない情報ですが,いずれにせよ 0 が成功でそれ以外は失敗として扱うことにしてみてはいかがでしょうか。
No.2ベストアンサー
- 回答日時:
atonさんの仰る通り、shのステータスでしょう。
Solarisのmanページには、
"If the fork() or exec() fails, system() returns
a value of -1 and sets errno."
とありますし、Linuxでは、
”execve() が /bin/sh を呼び出すのに失敗した時には 127 を、
別のエラーがあった時には -1 を、それ以外の時はコマンドの
返り値を返す。”
とあります。
このように、system()は返り値1に特別な意味を
もたせてないですから、system()から1が返った
ということは、shか或はshが呼び出したコマンドから
1が返ったということでしょう。
問題は、shはCommand not foundなどの理由で失敗した時に
1を返しますが、他の大部分のbuilt-inコマンドも失敗した時には
1を返す、ということです。このため、shで失敗したのか、
shから呼ばれたコマンドで失敗したのかは区別がつきません。
shもその他のコマンドも成功したら0を返すので、
「0 が成功でそれ以外は失敗として扱う」というのが
正解だと私も思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# PC画面を録画するプログラムでdllの読み込みエラー 1 2023/04/22 08:31
- UNIX・Linux Fedoraのupgradeで、libruby.so.3.0()がinstallできないという 1 2023/03/30 16:42
- UNIX・Linux AWSのEC2のZabbixユーザーでawscliコマンドが実行できない状態を解決する 1 2022/12/06 22:17
- Windows 10 VirtualBox 7のゲストOSでの物理HDDパーティションのマウント方法 2 2023/05/04 13:01
- Visual Basic(VBA) VBA★PDFをPDFアプリで印刷しようと思っていますが上手くゆきません 1 2022/06/06 22:04
- 英語 It has an extremely popular e-mail system, reporte 1 2022/11/04 19:41
- 英語 『G19 Gen5 MOS - Modular Optic System for Gen5』 の 『 1 2023/03/05 13:37
- その他(開発・運用・管理) WindowsからSSHでサーバーにあるファイルをダウンロードできない…。 3 2022/04/24 11:08
- Gmail 【お助け!】サーバーからのメール送信でGmailに送信されない問題について 1 2023/06/20 22:03
- 英語 Modular Optic System (MOS)とは、一体どの様な物の事なのかを教えてください。 1 2023/03/03 09:52
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
system関数がうまくいかない
C言語・C++・C#
-
systemの戻り値を取得する方法
C言語・C++・C#
-
コマンド(例えばls)の出力結果を文字列で取得するプログラムの作成方法
C言語・C++・C#
-
-
4
UNIX-Cのsystem関数でエラーを捕捉したい
C言語・C++・C#
-
5
system関数を使用してsuコマンドを実行したいのですが
C言語・C++・C#
-
6
system関数(Windows)の戻り値!!
C言語・C++・C#
-
7
Cからシェルを起動し返り値をハンドリングする方法
C言語・C++・C#
-
8
DOS窓の非表示
C言語・C++・C#
-
9
fopne で失敗する原因
C言語・C++・C#
-
10
C++言語で、構造体のコピーは可能(しても良い)のでしょうか?
C言語・C++・C#
-
11
UNIX上のプログラムで使うライブラリの中身を知る方法
C言語・C++・C#
-
12
python エラー
その他(プログラミング・Web制作)
-
13
C++でシェルを起動
C言語・C++・C#
-
14
構造体のメンバをfor文で回したい
C言語・C++・C#
-
15
シグナル 6(SIGABRT)とは?
C言語・C++・C#
-
16
C言語(gcc), Linux, FTPプログラミング
C言語・C++・C#
-
17
シェルスクリプトでFTPの実行結果を取得するには
その他(プログラミング・Web制作)
-
18
ftpコマンドの戻り値をチェックしたい
その他(プログラミング・Web制作)
-
19
SYSTEM関数等を用いて複数のコマンドを打ち込みたい
C言語・C++・C#
-
20
Enterキーを押されたら次の処理に移るという事をしたい。
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドプロンプトで印刷実行
-
データリーダーからのデータ読...
-
イーサネット通信
-
このプログラムなんですがsheet...
-
VBSで指定した時刻にメッセージ...
-
Teratermマクロの戻り値の取得失敗
-
PowerShellでテキスト内にコマ...
-
バッチ(Windows2000)での解析エ...
-
Windowsのバッチファイルでcall...
-
リストボックス2に表示されたフ...
-
VBで定期的にタイムサーバに時...
-
gmailでのimap設定
-
Excelで外部のファイルの場所を...
-
robocopyをすると隠し属性フォ...
-
同名フォルダを作成し、そのフ...
-
拡張子をつくる
-
ExcelVBAでリンク先の対象のフ...
-
linux duコマンドで困っています。
-
参照元Excelファイルをバックグ...
-
PCに保存していた写真を見られ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Teratermマクロの戻り値の取得失敗
-
Windowsのバッチファイルでcall...
-
Visual C++からftpを使う
-
テキストボックスのフォーカス...
-
system関数のエラー検出
-
ユーザーフォーム内のテキスト...
-
FlashROMにデータを書き込むに...
-
バッチ(Windows2000)での解析エ...
-
ネットワーク内のIPアドレス...
-
データリーダーからのデータ読...
-
RPGでのダメージの算出方法につ...
-
シリアル通信でのread関数の戻り値
-
コマンドプロンプトで印刷実行
-
AutoHotkey KeyWaitコマンドに...
-
表示を標準か改ページプレビュ...
-
EXCELで右クリックメニューの追加
-
コマンドボタンテキストの改行
-
C言語のコマンドの"flag"って何...
-
VBで定期的にタイムサーバに時...
-
gmailでのimap設定
おすすめ情報