2016-10-27 19 views
0

java Processbuilderを使用してunixコマンドを実行しようとしています。新しいコマンドが与えられるたびにサブプロセスが作成されます。どのように私は同じセッションですべてのコマンドを実行できますか? 実装しようとしています 1. & - ジョブをバックグラウンドに入れます。 2. Fg(id)はジョブをフォアグラウンドに持ち込みます。 3.ジョブ - 現在のバックグラウンドプロセスを同じ端末に表示します。サブプロセスの同じセッションで複数のコマンドをprocessbuilderで実行する

どうすればこの問題を解決できますか?同時にコマンドを実行するには、

+0

'fg'や' jobs'のようなジョブ制御コマンドは、通常シェル組み込みとして実装されます。シェルを構築しようとしているように思えるので、代わりにこの機能をシェルに実装する必要があります。 –

答えて

1

ベストな方法は、1スクリップファイルAN内のすべてのコマンドを入れた後、あなたが同様にパラメータを渡すことができProcessbuilder

を使用して、そのスクリプトファイルを実行しています。

$ cat myscript 
#!/bin/bash 
echo "First arg: $1" 
echo "Second arg: $2" 
$ ./myscript hello world 
First arg: hello 
Second arg: world 
+0

私はユーザーからの入力を受け取り、それらを実行する必要があります。ユーザーはコマンドを1つずつ入力します。スクリプトファイルはまだ動作しますか? –

+0

はい、ユーザーが入力した値をスクリプトに渡すことができます。 –

+0

'fg'や' jobs'のようなジョブ制御コマンドは、スクリプトから実行すると期待通りに動作しない可能性があることに注意してください。 –

関連する問題