次のコマンドを実行して端末を閉じたいです。
mysqldump -udatabase -pdatabase database > db.sql && zip db.sql.zip db.sql && rm db.sql && mv db.sql.zip /var/www/vhosts/*/httpdocs && cd /var/www/vhosts/*/httpdocs && zip -r backup.zip . && cd && touch backup_is_ready
端末が開いている場合は正常に動作しますが、ZIPは約40GBで、端末を閉じることができるようにしたいです。それ以外の場合は、切断するとプロセスが終了する可能性があります。
だから、A&&Bコマンドがあります。
私は試した:
(A &) && (B &)
(A && B) &
{A && B} &
nohup sh -c "A && B"
nohup { A && B } &
そして他の多くのオプションがありますが、何も機能しません。
コマンド文字列を端末に入れてから端末を閉じて、1時間後に戻って準備したいと思います。
私も長い命令体系を持っています。
sh <(wget -O - https://autoinstall.plesk.com/one-click-installer) && plesk bin init_conf --init -name "John Doe" -passwd "mypassword" -email "[email protected]" -send_announce false -trial_license true -license_agreed true && plesk bin subscription --create example.com -owner admin -service-plan "Unlimited" -ip 000.000.000.000 -login username -passwd 'password' && ...
私のコマンドチェーンは、端末が開いているときにうまく機能します。ターミナルに入れた後、コマンドチェーンを閉じたいのですが、ファイルを作成したくありません。
Bashファイルを作成せずに使用できる構文はありますか?
答え1
- Ctrl + Zはプログラムを停止(一時停止)し、シェルに戻ります。
bg
バックグラウンドで実行してください。disown -h [job-spec]
どこ【職業仕様】端末が閉じられたときにジョブが終了しないように、ジョブ番号(例えば、実行する最初のジョブの場合は%1、ジョブ番号を見つけるにはjobsコマンドを使用)。
答え2
バックグラウンドでプログラムを起動するには、次のようにします。
<your command> &
必要なものを2つの別々のコマンドで実行することをお勧めします。努力する:
user@hostname$ A &
user@hostname$ B &
このプロセスが面倒すぎたり頻繁に実行する必要がある場合は、次のコマンドを入力できます。シェルスクリプト。その後、スクリプトを実行できます
/path/to/my_script.sh &
修正する:
あなたのコメントの他の情報に基づいてホストにsshを接続し、複数のコマンドを実行してから切断する方法の概要については、この回答を参照してください。https://stackoverflow.com/a/4412338/3465014