私はUbuntu 16.04を使用tmux
しsleep
ていますが、特定のケースで満足しておらずat
、バグに遭遇したためnohup
(タイムアウト時)にタイムアウトプロセスを実行したいため、次のソリューションが必要です(を組み合わせた場合nohup-sleep
)。今、tmux
それは独自のハングアップメカニズムを備えており、手動での使用で実際にうまく機能しているため、最良の選択肢のようです(私はすでにそれで手動で行うことができるプロセスを自動化することに関してのみ質問します)。
必要なもの:
次の3つのアクションをすべて1つの操作で実行する方法が必要です。
- 新しい
tmux
セッションを接続します。 - のようなコマンドの準備が整ったセットをそのセッションに注入します
(sleep 30m ; rm -rf dir_name ; exit)
。私は特に、1行の長い行ではなく、複数行のセットを好みます。 - 上記のコマンドを実行すると、新しい
tmux
セッションでstdinとして書き込まれることが終了した瞬間が設定されます。
言い換えると、tmux
その原因のために特別に作成された別のセッションでコードセットを実行したいが、1つの操作ですべてを実行したい。
ノート:
私は元の作業セッション(ほとんどの時間から作業しているセッション)からすべてを行うことを目指しています。一般的に、新しく作成されたセッションにアクセスするつもりはありません。自動的に実行されるコードで作成したいだけです。
可能であれば、heredocソリューションをお勧めします。私はそれが最も効率的だと思います。
1.
2つの方法があります。1つは最初に一時的なスクリプト(コードを含む)を作成し、作成時に実行し、2つ目はheredocです仕方。2.
2番目の方法が機能する場合(各エコー行にheredocの各コード行が含まれる場合)なぜそれがBashの有効なコードである場合、これをハックと見なすべきなのでしょうか?たぶん、ヒアドキュメントの行がエコーされ、ヒアドキュメントで定期的に実行されないのでしょうか?