sh/bash/dash/ksh/zsh等Shell脚本
-
百草谷居士
- 帖子: 3939
- 注册时间: 2006-02-10 16:36
- 系统: debian12/xubuntu2404
#1
帖子
由 百草谷居士 » 2021-10-22 13:13
备份 fcitx-rime 词库时,需要先杀死 fcitx 进程。手工操作时,先
这时候会列出三四个进程号,然后 sudo kill xxx yyy zzz ,杀死这些进程后,才能使用 rime_dict_manager 完成备份用户词库的任务。
现在想使用脚本完成这个任务,请问,如何在 shell 脚本中杀死 fcitx 的相关进程?
debian 12.5 / xubuntu 24.04
为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。
-
astolia
- 论坛版主
- 帖子: 6570
- 注册时间: 2008-09-18 13:11
#2
帖子
由 astolia » 2021-10-22 14:18
用killall或pkill
-
百草谷居士
- 帖子: 3939
- 注册时间: 2006-02-10 16:36
- 系统: debian12/xubuntu2404
#3
帖子
由 百草谷居士 » 2021-10-22 14:31
这是我写的脚本:
代码: 全选
cd ~/.config/fcitx/rime
ps -A|grep fcitx
ps -A|grep fcitx|cut -c 1-7|xargs -t sudo kill
sleep 2
rime_dict_manager -e luna_pinyin ~/data/rime用户词库$(date +%Y%m%d).txt
fcitx-autostart&
cd ~
目前有两个问题:
第一,出现提示:Date: try "date -d @1634884172" if you are using GNU date ***
第二,无法回到 ~ 目录。
debian 12.5 / xubuntu 24.04
为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。
-
onlylove
- 论坛版主
- 帖子: 5260
- 注册时间: 2007-01-14 16:23
#4
帖子
由 onlylove » 2021-10-22 16:55
如果是bash,可以用 -x 参数调试,
不过貌似你的问题
第一个错可能是取时间的时候出错了
第二个,因为上一步取时间出错了,所以脚本可能停了,可以用$?看下上一条命令的执行结果
或者加个 echo什么的看看执行到哪里了
-
百草谷居士
- 帖子: 3939
- 注册时间: 2006-02-10 16:36
- 系统: debian12/xubuntu2404
#5
帖子
由 百草谷居士 » 2021-10-22 17:02
词库备份完成,生成的文件名也是预期的。
下面一句的fcitx也重新启动。
date 部分可能只是个警告信息。但是单独在命令行使用 date +%Y%m%d 没有任何警告信息。
fcitx-autostart& 执行后没有处于一个等待状态,需要按下回车键,返回命令行提示符。但并没有执行下面的 cd ~
debian 12.5 / xubuntu 24.04
为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。
-
百草谷居士
- 帖子: 3939
- 注册时间: 2006-02-10 16:36
- 系统: debian12/xubuntu2404
#6
帖子
由 百草谷居士 » 2021-10-22 17:17
astolia 写了: ↑2021-10-22 14:18
用killall或pkill
哈哈,竟然一直不知道这两个命令。可以直接使用 进程名 来终止进程。方便!
debian 12.5 / xubuntu 24.04
为何热衷于搞发行版的多,搞应用程序开发的少?Linux最多余的就是各种发行版,最缺的就是应用程序,特别是行业应用程序。
-
mainmaster
- 帖子: 2
- 注册时间: 2022-01-21 8:36
- 系统: win10
#7
帖子
由 mainmaster » 2022-01-21 11:09
cat killme.sh
#!/bin/bash
echo $1
ps -ef | grep $1 | awk '{printf "%s ",$2}' | xargs kill -9