首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用yad终止应用程序

如何使用yad终止应用程序
EN

Ask Ubuntu用户
提问于 2023-01-08 08:44:11
回答 2查看 160关注 0票数 1

我想使用yad系统托盘通知来终止应用程序(例如vlc),我使用了以下代码:

代码语言:javascript
复制
yad --notification --no-middle --image=emblem-warning --menu='Cancel ! kill $pid' --text="My Tooltip" &

vlc & pid=${!}

代码给出了以下错误:

代码语言:javascript
复制
kill: failed to parse argument: '$pid'

任何帮助都是非常感谢的。

EN

回答 2

Ask Ubuntu用户

发布于 2023-01-08 10:47:11

首先运行vlc 以使其PID正确进入变量$pid,如下所示:

代码语言:javascript
复制
vlc & pid=${!}

然后,在参数(<#>not单引号')周围使用双引号",以允许$pid的参数展开,如下所示:

代码语言:javascript
复制
yad --notification --no-middle --image=emblem-warning --menu="Cancel ! kill $pid" --text="My Tooltip" &
票数 1
EN

Ask Ubuntu用户

发布于 2023-01-08 21:22:12

代码的目标是启动ffmpeg来调整视频的大小和编码,并能够使用yad关闭视频。我通过将进程的PID存储在一个临时文件中找到了解决方案。我花了很长时间试图在bash -c‘命令’中使用单引号。最后,我用'"'"'替换单引号来解决这个问题。

代码语言:javascript
复制
export TMP="$(mktemp)"
yad --notification --no-middle  --command="" --image=emblem-warning --menu='Cancel current job ! bash -c "kill  $(cat $TMP); rm $TMP;"' & pid=$!
export fname="video.mp4"
bash -c 'echo $>$TMP; exec ffmpeg -n -loglevel warning -i "$fname" -acodec copy -vcodec libx264 -crf 24 -vf "scale='"'"'if(gte(iw,ih),-1,720)'"'"':'"'"'if(gte(iw,ih),720,-1)'"'"'"  "${fname%%.*}_720.${fname##*.}"'
kill $pid
票数 0
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1449280

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档