タグ付けされた質問 「api」


4
fork()の後、子はどこで実行を開始しますか?
UNIXプログラミングを学ぼうとしていますが、fork()に関する質問に遭遇しました。fork()は現在実行中のプロセスと同じプロセスを作成することを理解していますが、どこから開始するのですか?たとえば、コードがある場合 int main (int argc, char **argv) { int retval; printf ("This is most definitely the parent process\n"); fflush (stdout); retval = fork (); printf ("Which process printed this?\n"); return (EXIT_SUCCESS); } 出力は次のとおりです。 これは最も確実に親プロセスです どのプロセスがこれを印刷しましたか? どのプロセスがこれを印刷しましたか? 私はそれfork()が同じプロセスを作成すると思ったので、最初はそのプログラムでは、fork()呼び出しは永久に再帰的に呼び出されると考えました。から作成された新しいプロセスfork()は、fork()呼び出し後に開始すると思いますか? 次のコードを追加して、親プロセスと子プロセスを区別する場合、 if (child_pid = fork ()) printf ("This is the parent, child pid …
22 process  c  fork  api 

6
Unixシェルの「stdin / stdout API」はどれくらい安定していますか?
grepping、awking、sedding、pipingは、Unixライクなオペレーティングシステムのユーザーの日常的なルーチンであり、コマンドラインまたはシェルスクリプト(以降、総称してフィルターと呼ばれます)内にあります。 本質的に、「標準」のUnix CLIプログラムとシェルビルトイン(これ以降コマンドと総称される)を使用する場合、フィルターは正しく機能するために各フィルターステップでstdin、stdout、およびstderrの正確な予測形式を必要とします。以下では、このコマンドのこの正確な形式をこのコマンドのAPIと呼びます。 Web開発のバックグラウンドを持つ人として、この種のデータ収集とデータ処理を技術的にWebスクレイピングと比較します。これは、データ表示にわずかな変化がある場合でも非常に不安定な手法です。 私の質問は、UnixコマンドAPIの安定性に関するものです。 Unixライクなオペレーティングシステムのコマンドは、入力と出力に関して正式な標準化に従っていますか? いくつかの重要なコマンドの更新が、古いバージョンのコマンドを使用して作成されたフィルターの機能を破壊する原因となったことがありますか? Unixコマンドは、あるフィルターが壊れるような方法で変更することは絶対に不可能であるという時間の経過とともに成熟しましたか? コマンドAPIの変更によりフィルターが時々破損する可能性がある場合、開発者としてフィルターをこの問題から保護するにはどうすればよいですか?

4
* BSDがネットワークインターフェイスにドライバー固有の名前を使用するのはなぜですか?それは制限を意味しますか?
ネットワークカードのブランドによって、インターフェイス名が異なることに気付きます(ドライバーに依存すると思います)。 * BSDがネットワークインターフェイスにドライバー固有の名前を使用するのはなぜですか? カーネル内に「汎用ネットワークインターフェイス」を記述する抽象化レイヤーがないため、各ドライバーは独自のAPIを介して内部でアドレス指定されますか? (どのように)リンク集約、トラフィックシェーピング、QoS(ALTQ)、フィルタリングなどのサブシステムに影響しますか? 正確には、pfSenseの下では、リンク集約(LAG)仮想インターフェースでALTQを使用できないようです。 適切な抽象化レイヤーがないため、これはBSD内部の制限ですか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.