ProcessIDの検索 - pidofが機能しない

ProcessIDの検索 - pidofが機能しない

プロセスのProcessIdを見つける必要があります。

最初は次のことを行いました。

application="/home/user/apps/appName.app"
appPid=$(pidof -x $application)

これは素晴らしい作品です。

しかし、これで、次のようなさまざまな場所でアプリを実行できることがわかりました。

/home/user/apps/appName.app
/home/user/desktop/appName.app
/home/user/desktop/link to apps/appName.app

だから簡単にしようとしました。

application="appName.app"
appPid=$(pidof -x $application) 

しかし、一致するものはありません。pidof一致するにはフルパスが必要だと思います。

ProcessIdをどのように取得できますか?


もっと説明する必要があると思います。

もし私がするなら

ps aux | grep application.app

2つの結果が得られます。

user 29912 . . . . /home/user/apps/application.app
user 12345 . . . . grep application.app

私がそうすれば

var1=`pgrep application.app`
echo $var1

結果は空です。 29912 でなければなりません。

ベストアンサー1

pgrep自体はプロセスIDを返します。使用:

     $pgrep <process_name>


     $pgrep bash
     3896
     4013
     4115

出力を変数に保存するには:

   var1=`pgrep <appname>`


  pids=`pgrep bash`
  echo $pids
  3896 4013 4115

おすすめ記事