linux终端静默打开软件

linux终端静默打开软件,第1张

比如程序名是abcd

一般情况,输入该程序的名字abcd,然后回车。

如果忘记了该程序的全名,只要你还记得开头的一些字母,可以输入一两个字符ab后,按键盘Tab键,自动帮你查找,提示。

如果是你自己安装的程序,则需要知道路径(目录)

cd命令进入该目录,然后输入 ./abcd

有时候程序不能运行,可能是没有运行权限,需要先赋予运行权限。

sudo chmod u+x abcd

然后输入 ./abcd 运行。

【--------------------------------start of script -------------------------------】

#!/bin/bash

# 运行记录日志

runlog=/var/test/test.log

# 切换到脚本的工作目录

cd /var/test

# 首先以正常的方式(尝试)结束掉test服务的进程,静默结束

pgrep test |xargs kill -15 &>/dev/null

# 休息1秒,让出1秒时间充分地停止进程

sleep 1

# 检查一下test有没有被成功的结束,首先判断一下执行kill -15以后是否残留有test服务的进程

processnum=$(pgrep test |wc -l)

# 如果test进程数量大于0,则自动让脚本采用强制进程结束的方式快速终止test进程;

if [[ "$processnum" -gt "0" ]]then

pgrep test |xargs kill -9 &>/dev/null

# 发送wait指令,kill -9 一旦执行完毕脚本立刻执行接下来的 *** 作

wait

fi

# 记录停止服务的时间,时间格式的呈现:11/30/13 06:25:37

echo "$(date +"%D %T") service test stoped" >>$runlog

# 执行你的启动命令 ,静默启动

./test ./test.lua &>/dev/null

# 休息1秒,让出1秒时间充分地让test进程启动完毕

sleep 1

# 统计启动命令执行后test进程的数量

processnum=$(pgrep test |wc -l)

# 如果进程的数量大于0,记录服务成功启动;

if [[ "$processnum" -gt "0" ]]then

echo "$(date +"%D %T") service test start sucess" >>$runlog

# 否则(进程数量等于0),记录服务启动失败;

else

echo "$(date +"%D %T") service test start fail" >>$runlog

fi

【----------------------------end of script -----------------------------】

将上述代码存入到test.sh

在系统的crontab里面加入 00 00,12 * * * /var/test/test.sh &>/dev/null ,便捷的方法:echo '00 00,12 * * * /var/test/test.sh &>/dev/null' >>/var/spool/cron/*** , ***用能够有权限执行test.sh的用户的账号名称替代(如果不是root用户,那么要确保你调用的用户的SHELL环境变量是/bin/bash或者是/bin/sh),比如使用root, echo '00 00,12 * * * /var/test/test.sh &>/dev/null' >>/var/spool/cron/root


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8468996.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-16
下一篇2023-04-16

发表评论

登录后才能评论

评论列表(0条)

    保存