timer_create
およびを使用して、LINUX で定期的なタイマーをスケジュールするプログラムを作成しtimer_settime
ました。
このタイマーを削除して停止する前にプロセスを強制終了するとどうなりますか? メインを終了した後でもタイマーは生き続けますか。
はいの場合、メインを強制終了した後、そのようなタイマーがまだ実行されているかどうかを確認するにはどうすればよいですか?
timer_create(2)の man ページには、次のように書かれています。
Timers are not inherited by the child of a fork(2), and are disarmed and
deleted during an execve(2).
そのため、作成プロセスが終了または終了した後 (たとえば、強制終了された後) にタイマーを気にする必要はありません。
Linux では、タイマーについてカーネルを解析/proc/timer_list
およびクエリできます。/proc/timer_stats
プロセス固有のリソース (ファイル記述子、アドレス空間、タイマーなど)を管理するのはカーネルの責任です。その上でカーネルを信頼してください。fork( 2)およびexecve(2)のマニュアル ページに記載されているように、カーネルはそのようなリソースを適切に解放します。
Linux カーネルの役割とシステム コールの詳細を参照してください。