複数のSASプログラムがあります
test1_2.sas
test3_4.sas
test7_8.sas
私はnohup
このスクリプトをすぐに使用できるようにしたいです。次のシェルラッパーを作成してみましたtest.sh
。
#test running multiple files
testing1_2.sas &
testing3_4.sas &
私は電話しようnohup sas test.sh &
としましたnohup test.sh &
。どちらのコマンドもtest.sh
フォルダに明示的に保存されている場合は、現在ディレクトリにないことを知らせます。
私はシェルスクリプトに初めてアクセスし、nohup
複数のSASプログラムでシェルスクリプトを実行する正しい方法を見つけるのに役立ちます。ありがとうございます!
答え1
私はnohupの熱心なファンではありませんが(代わりにdisownを使用します)、シェルスクリプトのすべてのコマンドの前に「nohup」を置くと、質問のnohup部分が達成されます。
しかし、あなたのファイルがSASプログラムであると仮定していますか? SASが各SASプログラムで並列に実行されるようにするには、次のようにします。
nohup sas test1_2.sas &
nohup sas test3_4.sas &
etc.
それぞれ独自のSASプログラムを使用して独立したSASコマンドを実行します。
nohupコマンドを引き続き使用してください。出力が生成されると、nohup.outにも書き込まれます。これを防ぐために、各コマンドの出力メッセージとエラーメッセージを別々のファイルに書き込んでください。
nohup sas test1_2.sas > output1_2.file 2>&1 &
nohup sas test3_4.sas > output3_4.file 2>&1 &
etc.
コメントのコードを含めるために追加されました。
test.sh コマンドの呼び出し
bash test.sh
(ここで「bash」はお気に入りのシェルです)または実行可能としてマークします。
chmod +x test.sh
あなたは新規ユーザーなので、これが質問に対する正解だと思われる場合は、チェックマークをクリックしてください。