社区
Linux_Kernel
帖子详情
如何判断自己的进程是否正常启动
Valima
2009-12-04 10:54:42
在linux下,启动了一个自己的进程(知道进程名),如何通过脚本来判断该进程是否正常启动并且是自己的进程而不是同名的其他进程?谢谢!
...全文
347
14
打赏
收藏
如何判断自己的进程是否正常启动
在linux下,启动了一个自己的进程(知道进程名),如何通过脚本来判断该进程是否正常启动并且是自己的进程而不是同名的其他进程?谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Valima
2009-12-09
打赏
举报
回复
应用程序是经常升级的,而启动应用程序的shell不能升级,所以无法进行MD5之类的校验。
Valima
2009-12-09
打赏
举报
回复
有人说:“你可以给你想查的那个进程发一个消息,这样做的话比较准确。
kill(process_id,用户自定义消息)看看它的return值,在进程中加入对这个消息的捕获。不要处理它就可以了”
我觉得这个方法挺好,可是我测试了,不管发送什么信号,kill返回的值都是0,不管进程是否捕获信号。
Valima
2009-12-08
打赏
举报
回复
up
shuangbi
2009-12-08
打赏
举报
回复
[Quote=引用 9 楼 valima 的回复:]
不好意思,可能是我没有表达清楚,我现在重新描述一下我的需求: 我在系统启动时自动运行了一个应用程序app,由于这个app有可能被删除或更改,所以我在启动操作系统以后要判断我的app是否正常启动(判断是否被删除),如果正常启动了,是否我自己的应用程序(判断 是否被更改替换)? 我不知道有没有说清楚
[/Quote]
启动前可以对文件进行一些校验吧,md5之类?开应用程序文件是否修改过?
Valima
2009-12-07
打赏
举报
回复
如果被删除了或替换了要从一个只读区域重新拷贝并启动
Valima
2009-12-07
打赏
举报
回复
不好意思,可能是我没有表达清楚,我现在重新描述一下我的需求: 我在系统启动时自动运行了一个应用程序app,由于这个app有可能被删除或更改,所以我在启动操作系统以后要判断我的app是否正常启动(判断是否被删除),如果正常启动了,是否我自己的应用程序(判断 是否被更改替换)? 我不知道有没有说清楚
QX_永不言棄
2009-12-05
打赏
举报
回复
好难啊!
deep_pro
2009-12-05
打赏
举报
回复
别人替换你的app,是在你的app运行前替换,还是动态替换?
再说,既然是你的app,你跟它设计一个别人不知道的暗号不就得了,
你问 地振高冈,一派西山千古秀
他就得答 门朝大海,三合河水万年流
不然干掉就完事了呗
信号量是好,不过貌似只能脚本到app的单向,你要app回复你,app仅靠一个信号量还不知道回谁呢
可以占用一个用户自定义信号量,shell用kill发,app收到后写一个文件表示回复,没有回复的一律咔嚓
deep_pro
2009-12-05
打赏
举报
回复
[Quote=引用 4 楼 valima 的回复:]
这样怎么知道是我自己的应用程序app呢,不是被别人的app呢?担心我的app被别人替换掉,通过信号量什么的可以吗?因为我判断不是我的app,我要kill掉,重新从别处copy我的app,重新启动。
[/Quote]
lz什么意思,表达不清
playmud
2009-12-05
打赏
举报
回复
linux有函数可以监控文件是否变化,可以试一下。
看着奢扣
2009-12-04
打赏
举报
回复
ps -xelf | grep "全路径"
Wenxy1
2009-12-04
打赏
举报
回复
ps -xelf | grep "全路径"
这样更好。
pottichu
2009-12-04
打赏
举报
回复
ps -x | grep "全路径"
Valima
2009-12-04
打赏
举报
回复
这样怎么知道是我自己的应用程序app呢,不是被别人的app呢?担心我的app被别人替换掉,通过信号量什么的可以吗?因为我判断不是我的app,我要kill掉,重新从别处copy我的app,重新启动。
taskmgr.exe下载
好不容易找到的,如果任务管理器打不开就用这个吧,解压后把taskkill.exe、tasklist.exe及taskmgr.exe三个文件复制到C:\WINDOWS\system32就可以了
shell监控mysql服务
是否
正常
启动
监控mysql服务
是否
正常
启动
,如果未正常
启动
,就
启动
mysql服务。
c#
判断
应用程序
是否
正常运行以及输出异常关闭日志
c#
判断
应用程序
是否
正常运行以及输出异常关闭日志1.需求在一个桌面应用程序的运行过程中,需要依赖另外一个程序实时计算,因此得保证该计算程序能时刻运行,如果停止了,立刻重新
启动
,并且输出异常关闭日志。2.分析既然需要实现
判断
能否正常运行和输出异常关闭日志,所以就应该分为两部分来分别实现功能。3.
判断
是否
正常运行⑴根据
进程
名获取
进程
; ⑵
判断
进程
是否
存在,不存在,输出关闭异常,重新
启动
; ⑶添加计时
通过脚本监控MySQL
是否
正常
启动
通过脚本监控MySQL
是否
正常
启动
linux查看
进程
是否
启动
3,netstat -ap | grep redis查看
进程
ID和端口号。下图redis的
进程
ID为4284,端口号6379。如:查看Redis
是否
启动
,从下图可以看出,redis
启动
了,
进程
ID为4284,端口号6379。如果想要杀掉上面的redis
进程
,可移执行kill -9 4284。如我们知道Redis的端口号是6379,可以使用如下命令。4,netastat -ap | grep 端口号。同样也可以获取
进程
ID为4284。
Linux_Kernel
4,464
社区成员
17,462
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章