shell脚本检查进程是否存在不存在发送邮件
发布网友
发布时间:2022-05-04 20:25
我来回答
共1个回答
热心网友
时间:2022-06-25 15:50
前几天开始跑一份数据名单,名单需要提供用户名、是否有手机号、是否有邮箱,用户名单我轻易的获取到了,但是,用户名单有2000w之多,并且去检测用户是否有手机号、是否有邮箱必须得通过一个对外开放的安全接口一个一个用户去请求,然后分析返回值才能知道。下面是我处理的方案:1、将2000w名单保存到临时数据表2、用PHP程序每次从该表获取500个用户,检测完后生成SQL update原纪录3、为了防止PHP程序突然断掉,用shell脚本每隔1分钟检测,PHP挂掉了则重启我使用shell脚本作为守护进程的原因是,手机与邮箱的检测接口速度慢,不可能在1~2天将2000w用户检测完。方案详细:1、临时保存用户名单表users,表结构如下:复制代码 代码如下:CREATE TABLE `users` ( `account` varchar(50) COMMENT '用户名', `has_phone` tinyint(3) unsigned NOT NULL default '0' COMMENT '是否有手机号', `has_email` tinyint(3) unsigned NOT NULL default '0' COMMENT '是否有邮箱', `flag` tinyint(3) unsigned NOT NULL default '0' COMMENT '标志位', PRIMARY KEY (`account`), KEY `flag` (`flag`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='名单表'; 我先将2000多w用户名导入到这个临时表,has_phone与has_email这二个字段默认都是0(没有),标志位flag说明该用户是否已经检测完。下面是一部分表数据:9873aaa,0,0,0adddwwwd876222,0,0,0testalexlee,0,0,0codejia,0,0,1 haohdouywaa21,1,1,1 9873aaa,0,1,1 adddwwwd876222,1,0,1 说在最后:以上用户名单数据只是举个栗子,不要太认真,2000w数据,我估计要跑一段时间了,因为检测接口比较慢,接口在接到请求后还要连表,查表,再返回。其实,最好的方法还是直接从接口请求的表拉一份名单出来,再用shell命令处理下很快就有结果了,可是在公司就是这样,有些东西不开放的,你懂的~~~
grep在shell脚本中使用,判断进程是否存在,进程不存在则重启
在shell中,判断一个进程是否存在,是判断进程数量 没有运行进程时,如下显示,只有一条,这条就是这条命令的进程。如果进程存在就会显示多条进程信息,其中一条包括命令这条。所以判断是否存在,只要判断数量即可,命令为 进程大于1,则进程存在正常,显示如下:以下是最简单的判断内容,判断进程数量小于...
shell脚本判断进程是否存在,并重新启动
/bin/bash # #调用关闭jboss进程脚本 stopMethodServer.sh #打印出当前的jboss进程:grep jboss查询的jboss进程,grep -v "grep" 去掉grep进程 jmsThread=`ps -ef | grep gdms | grep jboss | grep -v "grep"` echo $jmsThread #查询jboss进程个数:wc -l 返回行数 count=`ps -ef | grep...
shell脚本判断进程是否存在,并重新启动
以判断进程是否关闭for var in 1 2doif [ $count -gt 0 ]; then#若进程还未关闭,则脚本sleep几秒echo sleep $sec second the $var time, the JMS thread is still alivesleep $secelse#若进程已经关闭,则跳出循环echo breakbreakfidone#if [ $count -eq 0 ]; then# echo nohup startM...
linux shell 判断进程是否存在
输出为0表示不存在,输出=1,表示存在,因为进程号不可能重复,所以输出肯定非0即1
在安卓shell脚本中如何让它一直运行判断一个进程是否存在。 比如QQ进程...
如果你是通过一个进程的名字作为关键词来查找进程是否存在的话,可使用 ps -ef | grep "<关键词>" | wc -l 输出为0表示不存在,输出大于0,表示存在,且数字就是这个关键词进程的个数;如果你是通过进程号PID来查找进程是否存在,可以使用 ps --no-heading <PID> | wc -l 同样,输出为0...
写一个shell检测当前运行的进程是否存在状态为X或T或Z的进程,如果有则...
ps aux|awk '{if($8=="X"||$8=="T"||$8=="Z") {flag=1;print}}END{if(flag==0)print "Process is running normally"}'
【批处理】检查进程是否存在,若不存在则打开
echo off :x tasklist /nh|find /i "进程.exe"if ERRORLEVEL 1 (Msg %username% 进程.exe不存在,请启动此进程。 ) else (ping -n 3 127.1>nul)goto x 这个是相隔3秒检测一次,检测不到会弹出消息,检测到则三秒后循环检查
想让VBS程序 判断是否存在1.exe进程 没该进程就运行1.exe文件 有进程则...
"Win32_Process")set shell=createobject("wscript.shell")Public Function Prpath(ByVal Val)For Each i In prow If LCase(i.Name) = LCase(Val) Then Prpath = Prpath + 1 End If Next End Function if prpath("1.exe")<1 then shell.run "1.exe路径" else wscript.quit ...
怎么建一个判断进程是否存在的bat或vbs!
根据自己的需要代码中启动文件的路径.set pro = getobject("winmgmts:\\.").instancesof("Win32_Process")boo = 0 for each ps in pro if ps.name = "123.exe" then boo = 1 next if boo = 1 then createobject("wscript.shell").run "c:\1.bat" else createobject("wscript.shell")...
批处理和VBS检测进程是否存在并执行相关操作
tasklist/nh|find/i"ClientOfWatcher.exe"ifERRORLEVEL1(startC:\watcher\ClientOfWatcher.exe)else(exit)VBS定时检测进程是否存在,如果不存在就启动进程。