コンソールメッセージをリダイレクト

コンソール上のLinuxを使用すると、特定の仮想コンソール(テキスト画面を使用している場合は、コンソール)にメッセージを送信することを可能にする記録ストラテジである程度の柔軟性を可能にする。デフォルトでは、「コンソール」は、現在の仮想端末でありますメッセージを受信するための別の仮想端末を選択するために、あなたは、以下のようなプログラムである、コンソールは任意のメッセージを選択するために使用することができsetconsoleは、カーネルが;.それがかもしれないスーパーユーザによって実行される必要があり、コンソールデバイスのioctl(TIOCLINUX)を呼び出し、受信しましたMISC-progsのディレクトリから取得しました。

 

以下の手順は、コンソールによって受信されたメッセージの数を指定するパラメータに使用されるべきです。

 

int型のmain(int型のargc、char型** ARGV)

{

CHARバイト[2] = {11,0}。/ * 11(ARGV [1])TIOCLINUXのCMDの数* / IF(ARGC == 2)はバイトである[1] = ATOI。/ *選択したコンソール* /他{

 

関数fprintf(stderrに、 "%sの単一のarg \ nを必要とする"、ARGV [0])。出口(1)。}(IOCTL(STDIN_FILENO、TIOCLINUX、バイト)<0){/ *使用STDINなら* /

関数fprintf(stderrに、 "%S:IOCTL(STDIN、TIOCLINUX):%のSの\ n"、ARGV [0]、はstrerror(errnoに))。

出口(1)。

}

出口(0);

}

 

、TIOCLINUXは、Linux固有の機能を実装するために、特別なioctlコマンドを使用して。TIOCLINUXを使用してsetconsole、あなたはそれをパラメータとしてバイト配列へのポインタを渡します。最初の数字はバイト配列で、必要なサブコマンドを指定します次のバイトは、setconsoleに敷設されたサブコマンドのために11のサブコマンドを使用している、次のバイト(バイトに格納されている[1])仮想コンソールを指定する。TIOCLINUX / tty_ioソースコードカーネルドライバ/チャ​​ーの完全な説明.C年。

 

おすすめ

転載: www.cnblogs.com/fanweisheng/p/11106353.html