kill进程之后开启进程,直接运行脚本可以,放进crontab有问题

回复 收藏

QQ图片20160520134012.png

QQ图片20160520134016.png



需求: kill这个进程,然后立马开启这个进程。
直接执行这个命令能成功达到这个需求(如图1)
但放进crontab里面却只成功了一半(kill成功了,但是开启进程不成功)。(如图2)


即使把此脚本代码放进一个文件 /usr/local/winbons/mail/autorestart.sh中,
然后在crontab中添加一行 19 10 * * * /bin/sh /usr/local/winbons/mail/autorestart.sh
结果还是一样,只执行kill,不执行启动进程


2016-05-20 13:48 举报
已邀请:
0

阿铭 管理员

赞同来自:

建议写成脚本,脚本中不需要nohup, 直接sh  shellname &  要加上错误、正确日志输出。
0

终わりない梦

赞同来自:

本帖最后由 终わりない梦 于 2016-5-20 14:07 编辑
阿铭 发表于 2016-5-20 13:51
建议写成脚本,脚本中不需要nohup, 直接sh  shellname &  要加上错误、正确日志输出。


QQ截图20160520140651.png



铭哥,我把脚本放进了stop.sh中了,然后在crontab中写了这个:

57 13 * * * /bin/sh /usr/local/winbons/mail/stop.sh& >/usr/local/winbons/mail/true.log 2>/usr/local/winbons/mail/false.log

到了31点57分后,效果还是一样(进程结束了,却没开启进程成功),cat了一下目录下的新增的文件true.log和false.log,是空的,0字节。
0

阿铭 管理员

赞同来自:

那应该还是你的脚本哪里有问题    在cron中执行的时候 也加个 -x  试试吧
0

qiaoxin360

赞同来自:

cron有自己的环境变量,试试这样57 13 * * * /bin/sh /usr/local/winbons/mail/stop.sh& >/usr/local/winbons/mail/true.log 2>/usr/local/winbons/mail/false.log
0

qiaoxin360

赞同来自:

刚刚不小心回车了57 13 * * * source /etc/profile;/bin/sh /usr/local/winbons/mail/stop.sh& >/usr/local/winbons/mail/true.log 2>/usr/local/winbons/mail/false.log
0

终わりない梦

赞同来自:

阿铭 发表于 2016-5-20 21:08
那应该还是你的脚本哪里有问题    在cron中执行的时候 也加个 -x  试试吧

57 13 * * * /bin/sh -x /usr/local/winbons/mail/stop.sh& >/usr/local/winbons/mail/true.log 2>/usr/local/winbons/mail/false.log  对吗?  一样的,一样只kill不java。。。。是不是权限问题。。。{:4_102:}
0

游夜

赞同来自:

一般是环境变量的问题,在你的stop.sh加上 source /etc/profile;  看看。
0

终わりない梦

赞同来自:

qiaoxin360 发表于 2016-5-21 14:36
刚刚不小心回车了57 13 * * * source /etc/profile;/bin/sh /usr/local/winbons/mail/stop.sh& >/usr/local ...

QQ截图20160523113201.png
QQ截图20160523113230.png

QQ截图20160523113244.png



用了你这方法,,,还是一样的情况。。只kill,不java
0

终わりない梦

赞同来自:

游夜 发表于 2016-5-23 10:03
一般是环境变量的问题,在你的stop.sh加上 source /etc/profile;  看看。

一样无效。。。。请看9楼
0

游夜

赞同来自:

终わりない梦 发表于 2016-5-23 11:43
一样无效。。。。请看9楼

在stop.sh脚本里面添加source /etc/profile(如果你的变量是存在这的话。)
0

qiaoxin360

赞同来自:

终わりない梦 发表于 2016-5-23 11:43
一样无效。。。。请看9楼

直接执行脚本正常不?
1 请把分号;换成回车
2 在脚本前面加上 source /etc/profile
3 脚本中不需要nohup  &
如果还不行就
1 kill -15 改为 kill -9
2 在运行java之前加上sleep 10
3 任务计划中 /bin/bash -x
0

终わりない梦

赞同来自:

qiaoxin360 发表于 2016-5-23 14:10
直接执行脚本正常不?
1 请把分号;换成回车
2 在脚本前面加上 source /etc/profile

除了kill -15 改为 kill -9 之外。。全部试过了。。。额。。。

我现在试试kill -9
0

qiaoxin360

赞同来自:

终わりない梦 发表于 2016-5-23 16:40
除了kill -15 改为 kill -9 之外。。全部试过了。。。额。。。

我现在试试kill -9

难道就没日志输出吗?
0

终わりない梦

赞同来自:

本帖最后由 终わりない梦 于 2016-5-23 17:10 编辑
qiaoxin360 发表于 2016-5-23 14:10
直接执行脚本正常不?
1 请把分号;换成回车
2 在脚本前面加上 source /etc/profile

QQ截图20160523170405.png

QQ截图20160523170437.png


QQ截图20160523170614.png


QQ截图20160523170839.png

=========

加入cron之后还是无效


========


0

终わりない梦

赞同来自:

qiaoxin360 发表于 2016-5-23 16:46
难道就没日志输出吗?

QQ截图20160523171329.png



直接运行就有日志输出。。。加入任务计划的话。就只有这个输入
0

终わりない梦

赞同来自:

qiaoxin360 发表于 2016-5-23 16:46
难道就没日志输出吗?

弄到日志了。。。。但不懂java。。。你会不会???{:4_91:}

=========
Error occurred during initialization of VM
Could not find agent library DeCodeDll on the library path, with error: libDeCodeDll.so: cannot open shared object file: No such file or directory

VM的初始化过程中出现错误
库路径上找不到代理库DeCodeDll,出现错误:libDeCodeDll.so:无法打开共享对象文件:没有这样的文件或目录

=======
0

qiaoxin360

赞同来自:

终わりない梦 发表于 2016-5-23 17:44
弄到日志了。。。。但不懂java。。。你会不会???

=========

{:4_97:}不懂啊,匿了
0

阿铭 管理员

赞同来自:

你们俩的头像有点意思
0

终わりない梦

赞同来自:

阿铭 发表于 2016-5-23 18:38
你们俩的头像有点意思

{:4_102:}   铭哥。。。会不会java这个报错。、。。

=========
Error occurred during initialization of VM
Could not find agent library DeCodeDll on the library path, with error: libDeCodeDll.so: cannot open shared object file: No such file or directory

VM的初始化过程中出现错误
库路径上找不到代理库DeCodeDll,出现错误:libDeCodeDll.so:无法打开共享对象文件:没有这样的文件或目录

=======

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: