私はそのマニュアルページを読んできましたが、それがどのように機能するかを理解するのに成功していません。 system()を呼び出すときに、新しい子プロセスがforkされ、シェルバイナリがexec()されていますか?しかし、それは愚かな推測かもしれません。system()はどのようにlinuxで正確に動作しますか?
7
A
答えて
10
はい、system()は基本的には渡されたコマンド文字列のfork()とexec() "sh -c"です。 glibcから最近フォークされたexamplelibcの実装例はhereです。
1
はい、system( "foo bar")はexecv( "/ bin/sh"、["sh"、 "-c"、 "foo bar"])と同等です。
+1
Posixでは、system()がSIGINTとSIGQUITを無視し、SIGCHLDをブロックする必要があります。 –
+0
はい。 Lanceが指摘している実装例ではそうしています。 – user108127
関連する問題
- 1. bindingnameはどのように正確に動作しますか?
- 2. バックトレースはLinux x86_64でどのように動作しますか?
- 3. Javaヒープスペース - -Xmxはどのように正確に動作しますか?
- 4. Linuxバイナリインストーラ(.bin、.sh)はどのように動作しますか?
- 5. のようなクエリは正確には動作しません
- 6. 正規表現OR(|)どのように動作しますか?
- 7. この再帰SQL CTEは、どのようにして正確に動作しますか?
- 8. Meteorはどのように動作しますか?クライアントとサーバーはどのように動作しますか?
- 9. splitActionBarWhenNarrowはAndroidでどのように正しく動作しますか?
- 10. Linuxでmutexはどのように作成されますか?
- 11. IEEE 754:どのように正確に機能しますか?
- 12. カーネルスレッドはLinuxでどのようなコンテキストで動作しますか?
- 13. タイムスタンプ付きのデュアルサインコードはどのように正しく動作しますか?
- 14. Robolectricで正確にカスタムのシャドウオブジェクトはどのように機能しますか?
- 15. Makefileでは、VPATHはどのように動作しますか?
- 16. クラスキャッシュはどのようにレールで動作しますか?
- 17. fprintfはC++でどのように動作しますか?
- 18. Server ExtensionsはどのようにXで動作しますか?
- 19. requirejsはどのように子ページで動作しますか?
- 20. ランダムグラフジェネレータはnetworkxでどのように動作しますか?
- 21. InputStreamReader.close()はどのように中間で動作しますか?
- 22. モデルイベントバインディングはどのようにbackbone.jsで動作しますか?
- 23. jQuery Mobileはjsfiddle.netでどのように動作しますか?
- 24. Meteorアプリケーションはどのようにオフラインで動作しますか?
- 25. MySQLでmemcacheはどのように動作しますか?
- 26. RSpecはどのようにRailsで動作しますか?
- 27. NutchはHadoopクラスタでどのように動作しますか?
- 28. Android:dpはどのように動作し、テストできますか?
- 29. 「コール」はどのようにjavascriptで動作しますか?
- 30. [:]はどのようにPythonで動作しますか?
ありがとう、そのリンクは本当に役に立ちました:) – user108127