実行時に syslog デーモンのログ パスを変更するにはどうすればよいですか? 私の目標は、ファイルサイズまたは日付ごとにログ ファイルをローテーションすることですが、QNX/POSIX には logrotate がありません。
編集を行い、syslogd が毎回 .conf ファイルをチェックすることを望みますか、それとも他の回避策がありますか? ありがとう。
明確化: 移植性の問題のため、スクリプトやコンソール コマンド ラインではなく、C または C++ で実行する必要があります。
syslogd の pid を見つけます。123 としましょう。編集が完了したら、コマンド ラインで次のいずれかを入力します。
kill -HUP 123
kill -1 123
Webで見つかったいくつかのソリューションに基づいた回答、および@billsの回答に基づいて、QNX環境に合わせて変更されました。
のシステムコールを実行し、再度slay syslogd
編集しsyslog.conf
てシステムコールを実行してください。syslogd
QNX は logrotate を提供しません。それ以外の場合は、上記の回答以外に、サード パーティのログをインストールすることも別の回避策ですが、私の目的には合いません。
更新: 掘り下げた結果、QNX はslogger
Neutrino OS 内で呼び出される代替手段を提供します。QNXシステムに対応しているため、回答としてこれに投票します
私には、 newsyslogをプラットフォームに移植するのに最も役立つように思えます。