言及するのを忘れてしまいました。 Suse Tumbleweedで実行され、デスクトップはKDE Plasmaです。
私のディレクトリにbin
シンボリックリンクがありますmpv
。
$ ls -l bin/Play
lrwxrwxrwx 1 boffi users 12 Feb 11 12:33 bin/Play -> /usr/bin/mpv
Play
任意の音楽ファイルを呼び出すスクリプトがあります。
$ cat bin/play_alarm
#! /usr/bin/bash
files=($(find $HOME/Music/$1 -type f))
n_files=${#files[@]}
index=$(($RANDOM%$n_files))
file=${files[$index]}
body=$(
echo $file | sed -E '
s./home/boffi/Music/..
s./[01][0-9]_./.
s/\..*$//
s./. → .g
s._. .g
s| → ([^→]+)$| → <b>\1</b>|')
notify-send -u low -a "The Alarm Player" --expire-time=10000 Playing "$body" &
Play --no-video --no-terminal ${files[$index]}
mpv
私が理解したのは、その名前を使って特定の問題を解決することができますが、mpv
Play
$ bin/play_alarm & sleep 10 ; killall Play ; sleep 2 ; killall mpv
[1] 1385
Play: no process found
$ Terminated
[1]+ Exit 143 bin/play_alarm
$
私の質問は「実行可能ファイルがシステムに表示する名前を変更する方法「もちろん、私が何か間違っていたのか、それとも深刻な誤解をしていました。
付録尋ねる前にplay_alarm
コマンドラインから始めると、それを使って終了できますが、通常はkillall play_alarm
プラズマplay_alarm
デスクレットで起動し、
killall play_alarm
動作しません。killall Play
動作しません。killall mpv
警告とmpv
実行中のすべての問題を削除します。
ポリスチレンPIDを一時ファイルに保存するよう提案した場合は、そうしないほうがよいでしょうが、他のすべての方法が失敗した場合...
答え1
私はこれを試して、sleep
次のような観察を得ました。
ln -s /usr/bin/sleep slapen
./slapen 900 &
ps -ef | grep slapen
これにより、以下が提供されます。
ljm 2623965 2534378 0 16:53 pts/5 00:00:00 ./slapen 900
ljm 2623968 2534378 0 16:54 pts/5 00:00:00 grep slapen
したがって、プロシージャ名はあなたが提案した名前ではslapen
ありません。sleep
pkill slapen
以下を提供します。
[1]+ Terminated ./slapen 900
それがあなたに必要なようです。
答え2
質問に対する私の意見を明確にするために、
$ ls -l ~/bin/Play
lrwxrwxrwx 1 boffi users 12 Feb 11 12:33 /home/boffi/bin/Play -> /usr/bin/mpv
$ Play --no-terminal Music/Aldous_Harding/Party/06_Horizon.opus & sleep 3 ; ps
[1] 16098
PID TTY TIME CMD
11599 pts/4 00:00:00 bash
16098 pts/4 00:00:00 mpv
16121 pts/4 00:00:00 ps
$
一方、
$ ls ~/bin/mysleep /home/boffi/bin/mysleep
$ mysleep 10 & ps
[1] 22546
PID TTY TIME CMD
11599 pts/4 00:00:00 bash
22546 pts/4 00:00:00 mysleep
22547 pts/4 00:00:00 ps
$
したがって、私たちは何らかの理由で何らかの理由でmpv
名前が変更されたと結論付けることができますmpv
。