UNIX 環境で実行される C で開発されたサーバー コードを用意すると、サーバーは次のように STDOUT/STDERR をログにリダイレクトします。
static gboolean
create_log_file (const char *log_file)
{
int log_file_fd;
g_return_val_if_fail (log_file != NULL, FALSE);
log_file_fd = open (log_file, O_WRONLY|O_CREAT|O_TRUNC, 0644);
if (log_file_fd < 0)
{
return FALSE;
}
dup2 (log_file_fd, 1);
dup2 (log_file_fd, 2);
close (log_file_fd);
return TRUE;
}
ディスク使用量が制限内であることを確認するために、このログ ファイルのアーカイブ/パージ cron を設定する予定です。
パージ cron が開始され、ログファイルが削除されるまで、ロギングは完全に正常に機能します。
cron 実行によるログ ファイルの削除後、STDERR トレースが停止し、ファイルが作成されないことを確認します。