結論
サブシェルを立ち上げ、サブシェルのバックグラウンドでジョブを実行、サブシェルの標準出力を /dev/null
へ。
( { sleep 5 } &; ) >/dev/null
非同期ジョブの詳細な管理がしたいのであれば madri/zsh-async がオススメ。(ジョブの登録, 名前を指定してジョブを実行, 名前を指定してジョブを中止 ...)
解説
シェルであれば コマンド &
で処理の終了を待たずに済む。
sleep 5 &
複数コマンドを束ねるには波括弧を用いる。一行で書く場合はコマンドの最後に ;
が必要。
{ sleep 2; sleep 3; } &
{
sleep 2
sleep 3
} &
ジョブのステータス変化がが送られてくるので、これを消すにはサブシェルでジョブを実行し、サブシェルの標準出力ごと抑制する。
( { sleep 2; sleep 3; } & ) >/dev/null
あとがき
今回作ったもの。 tmux のウィンドウ名に自動的に作業中の Git のルートディレクトリ名を割り当てる zsh プラグインです。
sei40kr/zsh-tmux-rename