Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

Ctrl+Zを押しても中断しないCプログラム


プログラムが誤動作し、ターミナルコンパイラで異常に実行される場合のプログラミングでは、プログラマはプログラムの実行を明示的に停止することができます。プログラムを明示的に停止するには、ユーザーは押す必要のある正しいキーボードショートカットを知っている必要があります。

コードブロックの実行を終了するには、2種類のキーボードショートカットが使用されます。

  • Ctrl + c −プログラムの実行を停止するために使用されます。i/ O操作を完了するのに少し時間がかかり、実行を一時停止します。 SIGINTを送信します 終了するプロセスへのシグナル。一部の言語では、この SIGINTを処理する方法があります Cの信号関数のように。

  • Ctrl + z-プログラムの実行を停止するために使用され、プロセスに関連するすべてのタスクがシャットダウンされ、実行が一時停止されます。 SINTSTPを送信します 実装は同じですが、プログラムを終了するプロセスへのシグナルですが、このシグナルは他のシグナルと比較してより強力です。これも処理できます。

ここでは、ctrl+z呼び出しを超えることができるコードを記述します。そして、プログラムは一時停止される代わりに、「 ctrl+zはこのコードを一時停止できません」と出力します。 」。

上で説明したように、 ctrl + z 呼び出しはCプログラミング言語で処理できます。 SINTSTP プログラムのプロセスを終了するためにシグナルが呼び出されます。この信号の機能を再定義して、使用時にコードを終了して行を出力しないようにします。

signal()メソッドは、このタイプのものを処理するために使用されます。

#include <stdio.h>
#include <signal.h>
void signalhandler(int sig_num){
   signal(SIGTSTP, signalhandler);
   printf("Cannot execute Ctrl+Z\n");
}
int main(){
   int a = 1;
   signal(SIGTSTP, signalhandler);
   while(a){
   }
   return 0;
}

出力

// an infinite loop

  1. Windows11/10の全画面モードでタスクバーが非表示にならない

    Windows11またはWindows10のタスクバーはフルスクリーンのビデオまたはゲームに表示されますか?ビデオを見ているときやフルスクリーンモードでゲームをプレイしているときにタスクバーが非表示にならないことに気付いた場合は、この投稿のいくつかの提案が問題の解決に役立つはずです。 Windows11/10でタスクバーがフルスクリーンモードで非表示にならない この問題に直面した場合は、次のオプションがあります。 ファイルエクスプローラーを再起動します デスクトップモードでタスクバーを自動的に非表示にするをオンにします 簡単なWindowsSearchのトリックを実行します。 リストさ

  2. エラー1083、サービスが実行するように構成されている実行可能プログラムがサービスを実装していません

    エラー1083を受け取った場合、このサービスを実行するように構成されている実行可能プログラムはサービスを実装していません Windowsサービスマネージャーを使用してサービスを開始している間。この投稿は、問題のトラブルシューティングに役立ちます。ほとんどすべてのプログラムでコンピュータ上でサービスを実行する必要があるため、対応するレジストリキーにサービスがリストされていない場合、Windowsコンピュータでそのようなメッセージが表示される可能性があります。 WindowsはWindowsストアサービス(WSService)を開始できませんでした エラーメッセージ全体は次のようになりま