シェルコマンド内のプロセスIDにgroovy変数を割り当てます

デリス

パイプラインから、次のように、エミュレーターのプロセスIDをシェルスクリプト内の変数EMULATOR_PIDに設定しようとしています

def EMULATOR_HOME = 'C:/Users/USER/AppData/Local/Android/Sdk/emulator'
def EMULATOR_PID

pipeline {
 agent any

 stages {
    stage('Start emulator') {
        steps {
        sh "$EMULATOR_HOME/emulator -avd Pixel_2_API_29 -port 5554 -wipe-data & $EMULATOR_PID=\$!"
      }
}

次の段階では、次のようにそのプロセスを強制終了しようとしています。

stage('Kill process') {
  steps {
    sh "kill $EMULATOR_PID"
}

ビルドを開始すると、次のエラー出力が表示されます。

+ null=5749 <------ EMULATOR_PID
+ C:/Users/USER/AppData/Local/Android/Sdk/emulator/emulator -avd Pixel_2_API_29 -port 5554 -wipe- 
data
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Kill processes)
[Pipeline] sh
+ kill null <------- "null" IS MY EMULATOR_PID
C:/Users/USER/AppData/Local/Jenkins/.jenkins/workspace/Android Test Pipeline@tmp/durable- 
d7aac378/script.sh: line 1: kill: null: arguments must be process or job IDs

ここでエミュレータプロセスIDEMULATOR_PID変数を正しく割り当てるにはどうすればよいですか?

mndrye

次のオプションを使用できます。

sPID= sh (
      script: "$EMULATOR_HOME/emulator -avd Pixel_2_API_29 -port 5554 -wipe-data & echo \$!;",
      returnStdout: true
    ).trim()

クリーンな数を取得するには、変数sPIDに少し取り組む必要があるかもしれません。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

jps-vlコマンドの出力をシェルスクリプトの変数に割り当てます

分類Dev

サブシェルバックグラウンドプロセスpidを変数に割り当てます

分類Dev

スクリプト内の変数にタイムアウトコマンドを割り当てます

分類Dev

Bash:コマンドグループの出力を変数に割り当てます

分類Dev

ローカル環境のsshコマンドでbashスクリプト変数を割り当てます

分類Dev

groovyを使用して、複数のシェルコマンドをどのようにパイプしますか?

分類Dev

コマンド出力をbashの変数に割り当てます

分類Dev

Vagrantfile:インラインシェルスクリプトの結果を変数に割り当てます

分類Dev

複数のストアドプロシージャ(モデル)を非同期的に呼び出し、コントローラーからの結果セットをMVCのビュー内の変数に割り当てる方法は?

分類Dev

bashの1つのコマンドでシェル変数にデフォルト値を割り当てる

分類Dev

コマンド置換shブロック内のGroovy(jenkinsfile)変数にアクセスします

分類Dev

Unixシェルスクリプト、テキストファイルの値をsedコマンドに割り当てる必要があります

分類Dev

シェルスクリプト内のコマンドに変数を挿入する

分類Dev

同じ行に変数を割り当てた後、シェルの組み込みコロンコマンド「:」によって空の文字列値が割り当てられるのはなぜですか?

分類Dev

シェルスクリプトでコンマ区切りのコマンドライン引数をjsonに変換します

分類Dev

teeを使用するときに複数のシェルコマンドの出力を変数に割り当てる方法は?

分類Dev

シェルのサブプロセスにコマンドを渡す

分類Dev

curlコマンドの出力の一部を抽出してシェル変数に割り当てるにはどうすればよいですか?

分類Dev

Pythonサブプロセス-SSH経由で複数のシェルコマンドを実行します

分類Dev

Javaコードからシェルスクリプトの変数に値を割り当てる方法

分類Dev

このコマンドの出力をシェルの変数に割り当てるにはどうすればよいですか?

分類Dev

シェルスクリプトでさまざまな変数のコマンドを実行するには

分類Dev

シェルコマンドの出力をすべてのmakeターゲットのMakefile変数に割り当てる方法は?

分類Dev

変数の割り当てはシェルスクリプトを終了します

分類Dev

エクスポートコマンドを理解する:すでに開始されている子プロセスの変数になりますか?

分類Dev

コマンドの出力をSunOSのシェル変数に割り当てようとしたときにエラーが発生しました

分類Dev

コマンド出力のgrep値を変数に割り当てます

分類Dev

既存のプロセスをオブジェクト変数に割り当てますか?

分類Dev

ループ内の変数に値を割り当てます

Related 関連記事

  1. 1

    jps-vlコマンドの出力をシェルスクリプトの変数に割り当てます

  2. 2

    サブシェルバックグラウンドプロセスpidを変数に割り当てます

  3. 3

    スクリプト内の変数にタイムアウトコマンドを割り当てます

  4. 4

    Bash:コマンドグループの出力を変数に割り当てます

  5. 5

    ローカル環境のsshコマンドでbashスクリプト変数を割り当てます

  6. 6

    groovyを使用して、複数のシェルコマンドをどのようにパイプしますか?

  7. 7

    コマンド出力をbashの変数に割り当てます

  8. 8

    Vagrantfile:インラインシェルスクリプトの結果を変数に割り当てます

  9. 9

    複数のストアドプロシージャ(モデル)を非同期的に呼び出し、コントローラーからの結果セットをMVCのビュー内の変数に割り当てる方法は?

  10. 10

    bashの1つのコマンドでシェル変数にデフォルト値を割り当てる

  11. 11

    コマンド置換shブロック内のGroovy(jenkinsfile)変数にアクセスします

  12. 12

    Unixシェルスクリプト、テキストファイルの値をsedコマンドに割り当てる必要があります

  13. 13

    シェルスクリプト内のコマンドに変数を挿入する

  14. 14

    同じ行に変数を割り当てた後、シェルの組み込みコロンコマンド「:」によって空の文字列値が割り当てられるのはなぜですか?

  15. 15

    シェルスクリプトでコンマ区切りのコマンドライン引数をjsonに変換します

  16. 16

    teeを使用するときに複数のシェルコマンドの出力を変数に割り当てる方法は?

  17. 17

    シェルのサブプロセスにコマンドを渡す

  18. 18

    curlコマンドの出力の一部を抽出してシェル変数に割り当てるにはどうすればよいですか?

  19. 19

    Pythonサブプロセス-SSH経由で複数のシェルコマンドを実行します

  20. 20

    Javaコードからシェルスクリプトの変数に値を割り当てる方法

  21. 21

    このコマンドの出力をシェルの変数に割り当てるにはどうすればよいですか?

  22. 22

    シェルスクリプトでさまざまな変数のコマンドを実行するには

  23. 23

    シェルコマンドの出力をすべてのmakeターゲットのMakefile変数に割り当てる方法は?

  24. 24

    変数の割り当てはシェルスクリプトを終了します

  25. 25

    エクスポートコマンドを理解する:すでに開始されている子プロセスの変数になりますか?

  26. 26

    コマンドの出力をSunOSのシェル変数に割り当てようとしたときにエラーが発生しました

  27. 27

    コマンド出力のgrep値を変数に割り当てます

  28. 28

    既存のプロセスをオブジェクト変数に割り当てますか?

  29. 29

    ループ内の変数に値を割り当てます

ホットタグ

アーカイブ