当前位置:首页 » 编程软件 » shell脚本nohup

shell脚本nohup

发布时间: 2022-07-28 21:04:31

linux shell脚本 nohup问题求助

你不应该放在profile,每个用户登录都会运行一次的。你确定hosts文件在mali目录下?不是mail?

另外你应该把这段代码写成脚本 在profile中以nohup 加后台的方式运行这个脚本。

比如 保存到/etc/init_kafka
然后在 profile中添加
nohup /etc/init_kafaka &

② 往shell脚本中传入参数

参数如下:
$# ----传递给程序的总的参数数目
$? ----上一个代码或者shell程序在shell中退出的情况,如果正常退出则返回0,反之为非0值。
$* ----传递给程序的所有参数组成的字符串。
$n ----表示第几个参数,$1 表示第一个参数,$2 表示第二个参数 ... $0 ----当前程序的名称
$@----以"参数1" "参数2" ... 形式保存所有参数
$$ ----本程序的(进程ID号)PID
$! ----上一个命令的PID

③ 关于一个shell脚本的解释问题

cd `dirname $0` //首先cd到脚本所在目录

jar_file=$(ls *.jar) //然后列出jar格式的文件,并赋值给jar_file变量
mole_name=${jar_file%.*} //删掉最后一个 . 及其右边的字符串,即扩展名
now_date=$(date +%Y-%m-%d) //按格式取当前日期


// 下面这句是查找名为变量 mole_name 的进程,然后再找java进程。

// 然后显示出第一行,第二个域。总的来说就是查找进程的PID

pid=$(ps -ef|grep ${mole_name}|grep java|head -n 1|awk '{print $2}');

echo kill ${mole_name} pid:${pid} // 结束上面找到进程

kill -9 $pid

// 设置JVM运行参数,最小内存386mb,最大内存512mb
JAVA_OPTS="-Xms386m -Xmx512m" 设置


// 如果没有logs目录则新建

if [ ! -d "logs" ]; then
mkdir logs
fi


// 重新执行变量jar_file变量指向的文件,并输出日志到logs目录下的.out文件中,同时重新查找pid。
nohup java $JAVA_OPTS -jar ${jar_file} $params > logs/${mole_name}.out 2>&1 &
pid=$(ps -ef|grep ${mole_name}|grep java|head -n 1|awk '{print $2}');

// 显示进程信息。
echo mole:${mole_name} startup finish pid:${pid}.
sleep 0.5
echo ${pid} > ${mole_name}.pid

综上所述,这段代码用于重启spring boot进程。

④ 求教sh脚本编写动态控制nohup日志文件。以下是相关需求

logrotate的自己男人的logrotate的

⑤ Shell怎么做守护脚本

写两个脚本,两个要互相调用并检查存不存在,如果要做守护的话实际上还要检查被拉起的程序

第一个脚本654321.sh

[[-z$(ps-ef|grep123456.sh|grep-v)]]&&nohupsh123456.sh&

第二个脚本123456.sh

[[-z$(ps-ef|grep654321.sh|grep-v)]]&&nohupsh654321.sh&

两个互相检查进程在不在,不在就拉起来

⑥ shell脚本中用nohup启动3个进程,输入回车后会有一或两个进程被杀掉,是什么原因

改写为:

( nohup ./a ) &
( nohup ./b ) &
( nohup ./c ) &
wait

说明:开启三个子shell在后台执行操作,( )表示开启子shell,
若不加圆括号直接这样写,则直接在父shell操作,可能造成逻辑错误,因为这个不是在命令行执行 的进程,
wait根据实际情况添加,表示等前面三个进程执行结束在进行下一步

⑦ 关于linux系统shell中有nohup命令,放入到crontab无法执行

要具体看下是什么命令(请复制出来),因为crontab执行时的环境变量PATH可能和界面上的bash不一样,有可能找不到所需的命令,这时候需要使用绝对路径,并不是nohup的问题。
另外也要看下crontab的服务是否已经运行,否则是不会有定时任务执行的

⑧ shell脚本中count_log=`ls logs_backup/nohup* | grep $nowdate -c`是什么意思

count_log=`lslogs_backup/nohup*|grep$nowdate-c`
count_log:
定义shell变量
=:
给shell变量赋值(注意等号两边不能有空格,和C语言区别)
``:
反引号``是命令替换,命令替换是指Shell可以先执行``中的命令,
将输出结果暂时保存,在适当的地方输出。
ls:
列出文件
logs_backup/nohup*:
logs_backup目录下所有以nohup开头的文件
|:
管道符,把前面命令的输出作为管道符后面命令的输入
grep:
文本搜索工具
搜索变量$nowdate,前面nowdata变量被赋值为当前时间
-c是grep命令的选项,计数搜索到匹配字符的次数。
整条命令:
给count_log变量赋值,值为logs_backup目录下文件前缀为bohup*文件内容含有
当前脚本执行时间的字符出现的次数。

⑨ nohup sh./start.sh &与nohup ./start.sh &有什么区别

nohup sh./start.sh &与nohup ./start.sh &的区别:

nohup,就是用nohup.out代替tty,避免挂起。

sh xxx.sh是用sh 执行start.sh,start.sh可以没有执行标志,可以不用加./,可以不用在脚本第一行写上#/bin/sh(当然,bsh可以不写)。

./start.sh是调用脚本第一行制定的shell去解释执行,缺省为sh,就是bsh &表示后台运行。

热点内容
pythonredis缓存 发布:2025-02-07 09:10:24 浏览:927
封边机主要看哪些配置 发布:2025-02-07 09:10:17 浏览:905
流控脚本破解 发布:2025-02-07 08:39:09 浏览:413
什么是资源为什么要研究资源配置 发布:2025-02-07 08:25:19 浏览:87
钓鱼网站源码制作 发布:2025-02-07 08:23:54 浏览:139
mac运行fl需要什么配置 发布:2025-02-07 08:15:45 浏览:573
安卓怎么做都比不了苹果 发布:2025-02-07 08:12:47 浏览:238
怎么给物理机配置ip地址 发布:2025-02-07 08:01:37 浏览:139
三国志13未加密 发布:2025-02-07 07:54:37 浏览:926
马斯克中国访问 发布:2025-02-07 07:54:29 浏览:102