プロセスの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
答え2
以下を使用します。
appPid=$(pgrep $application)