web-dev-qa-db-ja.com

OSXターミナルからシステムコールを実行できますか?

そのため、Cプログラムのコンテキストでシステムコールを取得しますが、私の教科書では、ターミナル(Mac OSX)でのシステムコールの作成については実際には取り上げていません。 「コマンド」のようにコマンドラインでこれらを実行できますか、それともまったく異なる概念ですか?申し訳ありませんが、これは非常に初歩的なものであり、答えが見つかりません。

5
Marty

いいえ、ターミナルで実行されているシェルは、システムコールを呼び出して結果を処理するために必要なメモリへの低レベルのアクセスを提供しないため、システムコールを直接実行することはできません。シェルの仕事は、プログラム全体を簡単に実行できるようにすることです。これらのプログラムのいくつかは、システムコールやその他のオペレーティングシステムリソースへのより便利なインターフェイスを提供します。たとえば、mvコマンドは、renameシステムコールへの快適なインターフェイスを提供します。 lnコマンドは、linkおよびsymlinkシステムコールへのインターフェイスを提供します。組み込みのシェルコマンドcdを使用すると、chdirに簡単にアクセスできます。ただし、ほとんどの場合、システムコールは基本的なサービスを提供するため、シェルがそれらに直接アクセスするのに役立ちません。

7
Kyle Jones