ユニット/タイマーファイルなしでコマンドラインから一時ユーザーレベルのシステムタイマーを作成するには?

ユニット/タイマーファイルなしでコマンドラインから一時ユーザーレベルのシステムタイマーを作成するには?

notify-send "invoked" "$(date)"システムタイマーを使用して5秒ごとにこのコマンドを実行したいとします。

そのユニットファイルとタイマーファイルを作成してからユーザーenableのタイマーを作成する方法を知っていますが、純粋にCLIベースのソリューションが必要です。

2つのファイルを生成せずにコマンドラインで上記の操作を実行したいと思います。それは次のとおりですsystemd-blah enable my_command --every 5s

ベストアンサー1

あなたが探しているsystemd-run、特にタイマー関連オプションの1つ:--on-active=, --on-boot=, --on-startup=, --on-unit-active=, --on-unit-inactive=そして--on-calendar=

鍛造タイマーを使用してください。

systemd-run --user --on-startup=0s --on-unit-inactive=5s --timer-property=AccuracySec=100ms sh -c 'notify-send "invoked" "$(date)"'

カレンダー(壁時計)タイマーの使用:

systemd-run --user --on-calendar='*:*:0/5' --timer-property=AccuracySec=100ms sh -c 'notify-send "invoked" "$(date)"'

デフォルトのタイマー精度は1分で、これは5秒短いタイマー間隔には弱すぎます。

あなたに役立つかもしれない他のパラメータはsystemd-run次のとおりです。--unit/-u(単位命名用)および--description(トリガーされたコマンドではなく、systemd、logなどによって表示される説明を提供するために使用されます。)

一時的なシステムデバイスは、通常のデバイスのように動作します。もはやどこでも参照されない場合は、説明されているようにガベージコレクションされます。ここ

おすすめ記事