Linuxアラーム機能の紹介 上記のコード: #include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <signal.h> int main(int argc, char *argv[]) { 警報(5); 睡眠(20); printf("終了!\n"); 0を返します。 } 5 秒間実行した後、カーネルはプロセスに
もちろん、次のように信号処理関数を手動で定義することもできます。 #include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <signal.h> void sig_alarm(int sig) { printf("sig は %d です、sig_alarm が呼び出されました\n", sig); } int main(int argc, char *argv[]) { signal(SIGALRM, sig_alarm); // アラーム信号に対応する関数を登録します。alarm(5); // 5秒後、カーネルはプロセスにアラーム信号を送信し、対応するシグナル登録関数を実行します。sleep(20); printf("終了!\n"); 0を返します。 } 結果:
カーネルは、プロセスを強制終了する代わりに、アプリケーション プロセスに SIGALRM シグナルを送信し、対応する登録関数を実行していることがわかります。 とても簡単です。今のところ私が言いたいのはこれだけです。 要約する 以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。 以下もご興味があるかもしれません:
|
<<: Mac での MySQL と Squel Pro の設定
会社のビジネス要件により、次の図の赤い領域の効果を達成する必要があります。 効果の説明: 1. 赤い...
序文特に bash 環境では、スクリプトの実行方法によって結果が異なります。スクリプトを実行する方法...
概要この記事では、ゲームクライアントでよく使用される MVC アーキテクチャについて紹介します。ゲー...
Web プロジェクトがどんどん大きくなると、CSS は天文学的な大きさと複雑さを増します。この問題を...
CPU 権限の制限により、Linux ユーザー状態とカーネル状態間の通信は、プロセス間通信を使用した...
123WORDPRESS.COM HTML チュートリアル セクションに戻るには、ここをクリックして...
目次序文1. 準備 - サーバーとnginxの使用1. サーバーを準備する2. nginxをインスト...
1. 環境要件1. Docker 17以上がインストールされている2. コンテナ操作docker r...
コードをコピーコードは次のとおりです。 <!--doctype はドキュメント タイプ htm...
これで、autocomplete と呼ばれる input の属性を使用できるようになりました。オート...
1. MySQL Yumリポジトリを追加するMySQL公式サイト>ダウンロード>MySQ...
この記事では、携帯電話のプルダウンリフレッシュを模倣したjsの具体的なコードを参考までに共有します。...
目次JSBridgeの起源JSBridgeの双方向通信原理JSはネイティブを呼び出すネイティブコール...
この記事では主にTomcatプロセスを記録し、TCP接続が多すぎることによるCPU使用率の過剰のトラ...
序文docker run がコンテナを作成して実行するときに、-p を使用してポート マッピング ル...