. # # chkconfig: 2345 90 10 # description: 这个程序用来监控服务器服务软件,以程序挂掉后重启 Author is Sindsun 2019年12月9日15:40
Monit可以监控服务器进程状态、端口状态,HTTP/TCP状态码、服务器资源变化、文件系统变动等等,根据这些变化,可以设定邮件报警、重启进程或服务。...官网:https://mmonit.com/monit 安装 yum install monit 如何配置 使用yum安装默认配置文件在: /etc/monitrc # 全局参数配置文件 /etc/...我的配置如下 vim /etc/monitrc 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 #设置周期,每60秒自动检测一次...包含所有需要监控服务的子配置项,这里使用了文件名通配符 include /etc/monit.d/*.monitrc.conf 监控mongodb配置示例(利用端口监控) 1 2 3 4 5 6 7 8 9 10 #匹配进程名...CHECK PROCESS mongo MATCHING mongo #配置服务启动和重启命令 start program = "/usr/bin/sudo service mongodb start
有时候由于测试不充分或者程序潜在的问题而导致程序异常崩溃,这个是令人无法接受的,在android中怎样捕获程序的异常崩溃,然后进行一些必要的处理或重新启动 应用这个问题困恼了我很久,今天终于解决了该问题...首先捕获程序崩溃的异常就必须了解一下java中UncaughtExceptionHandler这个接口,android沿用了此接口,在android API中: ?...AlarmManager.RTC, System.currentTimeMillis() + 1000, restartIntent); // 1秒钟后重启应用...但是我怎样试都不成功, 进程是杀死了,但是应用却没启动起来,如果不将异常进程杀死,那么关闭应用时就得关闭两次,显然不能够接受。...如何杀死异常进程,重启应用,就得使用PendingIntent,这个类是android中对Intent类的包装,具体了解我会在写一篇博客,自己也可以去查看android API。
. **************" #得到对应服务的进程号 str=`ps -ef | grep language-1.0-SNAPSHOT.jar | grep -v "grep"|awk '{print...$2}'` #获取进程所在的目录 pwd=`ls -l /proc/${ str} | grep "cwd ->" | grep -v "grep" | awk '{print $NF}'`...echo "进程目录是:"$pwd kill -9 $str if [ "$?"...kill failed" fi nowDate=`date +"%Y-%m-%d"` #进入对应的目录,重启服务...`ps -ef | grep language-1.0-SNAPSHOT.jar | grep -v "grep"|awk '{print $2}'` #打印出现在新的进程号
问题现象 从上次重启config节点,或者重新选举90或180天后,所有mongos会同时crash,并且无法重新启动。 问题原因 该问题是由于config节点无法正常刷新签名密钥导致。...SERVER-52654导致config无法正常刷新密钥,所以在现有密钥过期后mongos将崩溃。 修复版本 该问题将在4.2.12修复。4.2.12目前已发布。...actions: [ "find" ] }, ], roles: [ ] }); db.grantRolesToUser("ADMIN", ["query_keys"]) config主节点重新选举后将产生新的过期时间
一、问题简介 当服务器意外崩溃重启后,Node.js要能够自启动,恢复服务。...二、解决方案 1、三步完成 # 1、创建启动脚本 pm2 startup # 2、上面命令会输出类似如下提示,按照提示执行 [PM2] You have to run this command as...startup -u --hp # 3、保存正在运行的应用到启动脚本 pm2 save # 现在可以重启服务器,...看看 node.js 项目是否能自启动 2、其他 # 恢复上一次保存的自启动列表 pm2 resurrect # 取消自启动 pm2 unstartup # 当 node.js 版本更新时,...请一定要卸载并新建 自启动脚本 pm2 unstartup pm2 startup 三、参考文档 PM2让Node.js项目在服务器崩溃重启后,能自启动!
环境:Oracle 11.2.0.4 RAC 现象:sysaux空间满导致无法正常生成快照,清理空间后,手工生成快照可以成功,但是观察自动生成快照依然是不成功。...之前了解到awr对应的相关后台进程是mmon,那么如何重启这个mmon进程呢? 起初我误以为是这种非核心进程是kill掉会自动启动,实际在实验环境中测试发现杀掉mmon进程并不会再自动起来。...那想启动mmon进程难道要重启数据库吗?当然,重启数据库自然是可以实现重启mmon的目的,但是这对于绝大多数的生产环境来说,如果为这样的需求去申请重启数据库都是几乎不可接受的。...00:00:00 ora_mmon_orcl1 可以看到,ora_mmon_orcl1进程的启动时间由12:09变为15:33,说明是已经成功重启了。再去观察自动生成快照已经正常。...补充说明: 后续了解到,其实除了mmon进程外,还有一个mmnl进程也是随着一起重启的。
概述 近期碰到了一个 Linux Systemd 服务 Crash, Crash 后需要人工介入重启. 那么, 有没有办法如何实现 Linux 服务 Crash 后自动重启?...Systemd Systemd Restart Systemd 允许你对服务进行配置,以便在服务崩溃时自动重启。...=oneshot ExecStart=/usr/bin/tailscale update -yes [Install] WantedBy=multi-user.target 在上面的例子中,如果守护进程崩溃或被杀死...不过,你可以让 systemd 自动重启守护进程,以防它崩溃或意外被杀掉。为此,你可以在 [Service] 中添加 Restart 选项。......只要守护进程停止,systemd 就会在 5 秒内重启它。
默认ubuntu12.04没有配置内核崩溃自动重启及转存,造成发生内核崩溃的时候,没有core dump文件去分析,并且卡死在内核崩溃界面,为了方便查找内核崩溃原因,需要将内核崩溃自动重启配置及内核转存配置起来...,配置步骤如下: 第一步 配置内核崩溃自动重启 添加kernel.panic到内核参数,10为内核崩溃10秒之后,自动重启系统 vi /etc/sysctl.conf kernel.panic = 10...第二步 验证自动重启机制是否生效,需要配置sysrq 添加kernel.sysrq 到内核参数,1为生效 vi /etc/sysctl.conf kernel.sysrq = 1 运行命令,使配置的参数生效...模拟系统内核崩溃,同时按alt+sysrq+c三个键,或者运行如下命令 echo c >/proc/sysrq 看以看到内核崩溃,并读秒重启 ?...测试,模拟系统内核崩溃,同时按alt+sysrq+c三个键,或者运行如下命令 发现系统崩溃,并卡死住,没有发送转存,也没有重启! ?
在项目中总会存在一些意想不到的的问题,导致任务出错中断停止,我们需要去监控任务的执行状态,并当进程执行失败的时候进行重启。
默认Ubuntu 12.04没有配置内核崩溃自动重启及转存,造成发生内核崩溃的时候,没有core dump文件去分析,并且卡死在内核崩溃界面,为了方便查找内核崩溃原因,需要将内核崩溃自动重启配置及内核转存配置起来...,配置步骤如下: 第一步 配置内核崩溃自动重启 添加kernel.panic到内核参数,10为内核崩溃10秒之后,自动重启系统 vi /etc/sysctl.conf...kernel.panic = 10 第二步 验证自动重启机制是否生效,需要配置sysrq 添加kernel.sysrq 到内核参数,1为生效 vi /etc...检查配置的参数是否生效 模拟系统内核崩溃,同时按alt+sysrq+c三个键,或者运行如下命令 echo c >/proc/sysrq 看以看到内核崩溃,并读秒重启...,同时按alt+sysrq+c三个键,或者运行如下命令 发现系统崩溃,并卡死住,没有发送转存,也没有重启!
它就有点受不了了,时不时会崩掉,虽然我自己有网站监控和邮件通知,但是好多时候还是需要我来手动连接我的服务器重新启动一下我的MySQL,这样简直太不友好了,所以,我就觉定自己写个脚本,定时监控它,如果发现它挂掉了就重启它...14.04 [1489070815394_7268_1489070816359.jpeg] 编写Shell脚本 首先,我们要编写一个shell脚本,脚本主要执行的逻辑如下: 显示mysqld进程状态...,如果判断进程未在运行,那么输出日志到文件,然后启动mysql服务,如果进程在运行,那么不执行任何操作,可以选择性输出监测结果。...好,保存一下,重启cron服务。 service cron restart 嗯,调度任务已经添加进去了,这样,每五分钟系统就会调用一下刚才写的那个脚本。...16:40:01 CST 2015 mysql running Sun Aug 16 16:51:04 CST 2015 mysql running 结语 这样,我们就实现了五分钟定时检测MySQL进程服务
代码改动时立即生效,可以在启动 uwsgi 的 ini 的配置文件里加入参数 py-autoreload = 1 ( 写在 ini 配置文件中,记得一定要 = 1,否则不生效),遇到仅有 HTML 文件修改不会重启...processes = 1 workers= 2 # threads = 2 daemonize = /root/yzq/logs/uwsgi_joyoo.log py-autoreload = 1 # 代码修改后自动重启...# py-auto-reload 、py-autoreload、python-auto-reload、python-autoreload 这四个参数配置的含义都是一样的,python 文件修改后重启
= nil」,另一件是作为编译型语言,代码修改后不能实时看到效果, 借助一些工具可以实现文件修改后自动编译重启,比如: Linux 环境:inotify-tools(Golang Automatic Reloads...fswatch 不过常见的工具要么不跨平台,要么操作复杂,好在我发现了一个 facebook 出品的神器:watchman,不仅跨平台,而且操作简单,你只要写个脚本对接上就行了,当项目代码改变时,它会自动调用你的脚本...p ‘\.go$’ — /path/to/your/script 注意:如果遇到问题可以查日志「/usr/local/var/run/watchman/*-state/log」 注意:如果你的编辑器有自动保存之类的功能...,务必记得关闭它,比如 vscode: 自动保存 除了 watch 之外,还有一些别的选择,比如 air 也不错,留给大家自己研究吧。
Supervisor是一个用Python写成的进程管理工具,见https://github.com/Supervisor/supervisor。...=true ; 自动重启。。...当然要选上了 startretries=10 ; 启动失败时的最多重试次数 exitcodes=0 ; 正常退出代码(是说退出代码是这个时就不再重启了吗...autostart=true ; 随着supervisord的启动而启动 autorestart=true ; 自动重启。。...当然要选上了 startretries=10 ; 启动失败时的最多重试次数 exitcodes=0 ; 正常退出代码(是说退出代码是这个时就不再重启了吗
Linux系统编程 - 进程异常自动重启 开篇 在Linux平台,自研服务进程通常以守护进程的形式在后台常驻运行。但偶尔也会遇到服务进程异常crash,导致产品基本功能异常,影响恶劣。 ...另一些只在需要的时候才启动,完成任务后就自动结束。 守护进程的特点是不占用终端,后台运行。在终端只需要在启动进程时加&,即可启动一个守护进程: $ ....如果父进程先退出,子进程被init接管,子进程退出后init会回收其占用的相关资源。...则可以通过这点,实现进程异常crash的重启。 「方案一」 在《Linux系统编程》中,有讲道:当子进程终止时,会发送SIGCHLD至父进程。...预期: test进程2s挂掉,会被自动拉起;lambda进程正常运行,不受影响。 $ .
使用 PM2,让崩溃重启、观察、检查日志甚至部署应用程序,都变的简单,并且 PM2 非常重视在命令行界面的操作体验,因此 PM2 非常易于使用和掌握。...到这一步,这个 Python 程序就将永远的运行下去,这意味着如果该进程退出或者抛出异常,它将被自动重启。...服务器重启时,依然保持运行 使用 PM2 启动 Python 程序之后,PM2 只能保证启动的这个 Python 程序发生意外崩溃的时候,对他进行重启。...æªå¾ - ä" - 2018-09-19-13-05-39 复制/粘贴此命令的最后一行,执行后将在系统重启时,自动启动 PM2。...现在已经可以重启 PM2 了,还需要告诉 PM2 那些进程状态需要在重启时保持不变,只需要输入命令: $ pm2 save 复制代码 这将创建一个转存文件,记录当前由 PM2 管理的进程状态,PM2 将在重启时
调试,当页面跳转时,程序崩溃(卡顿一下),重新打开(跳转到开始的界面): 查看更清晰的错误视频:(建议复制到浏览打开) http://www.365yg.com/i6650408005210735111.../#mid=1620813799041027 由于程序是重启的,所以 日志中找不到错误,如下: 这时(刚经历完崩溃,重新启动登陆界面)需要:选择 Logcate 【READ】栏 之后就可以看到错误,
PM2 的功能不多做介绍了,总之使用简单,功能强大。 今天实现了本地自动部署node项目到服务器的流程。简单总结下几个注意点。...权限问题,比如server的登录用户是Ubuntu,将来项目要部署在/home/ubuntu下面,可以执行下 sudo chown ubuntu:ubuntu /home/ubuntu/.pm2/* 不然可能会部署失败...": ["StrictHostKeyChecking=no", "PasswordAuthentication=no"], "post-deploy" : 'npm install && pm2...node1就是要部署的项目名称 pm2 deploy ecosystem.config.js node1 setup 这个命令只是拉仓库代码 pm2 deploy ecosystem.config.js...node1 执行这个命令会执行 post-deploy,运行项目 pm2 reload 和pm2 restart 有啥区别 官方说明:As opposed to restart, which kills
这时候是不是可以让另一个进程来做? 线上的 node 应用不只是跑起来就行了,还要做自动重启、日志、多进程、监控这些事情。 而这些事情,都可以用 pm2 来做。...进程管理的话就是可以手动启动、重启、停止某个进程,而且崩溃了会自动重启,也可以定时自动重启。...只需要 pm2 start 的时候带上几个选项就好了: 超过 200M 内存自动重启: pm2 start xxx --max-memory-restart 200M 从 2s 开始每 3s 重启一次...: pm2 start xxx --cron-restart "2/3 * * * * *" 当文件内容改变自动重启: pm2 start xxx --watch 不自动重启: pm2 start...这是超过内存的自动重启。 崩溃的自动重启、定时自动重启、文件变动自动重启等也是类似 。
领取专属 10元无门槛券
手把手带您无忧上云