Articles of 守护进程

如何在ORACLE Linux 7上产生一个systemctl维护的守护进程时立即排除故障?

我试图通过systemctl来运行jenkins,并在启动后立即死亡。 “systemctl status”和“journalctl”中没有任何内容。 jenkins的日志也没有任何显示。 我已经缩小了启动守护进程的代码段。 在/etc/init.d/functions中的“守护进程()”函数中: $cgroup $nice runuser -s /bin/bash $user -c "$corelimit 2>&1 ; $*" 当我打印出来时,它显示: runuser -s /bin/bash jenkins -c ulimit -S -c 0 >/dev/null 2>&1 ; \ /etc/alternatives/java -Djava.awt.headless=true \ -Djenkins.install.runSetupWizard=false -DJENKINS_HOME=/var/lib/jenkins \ -jar /usr/lib/jenkins/jenkins.war –logfile=/var/log/jenkins/jenkins.log \ -webroot=/var/cache/jenkins/war –daemon –httpPort=8080 –debug=5 \ –handlerCountMax=100 –handlerCountMaxIdle=2 我从CLI手动运行它运行良好。 尽pipe通过“守护进程()”运行,但在不到一秒的时间内死亡。 如果有问题的话,这将在Oracle Linux 7 UEK4上运行。 更新:我尝试了以下情况: […]

守护进程运行几个小时,并死亡

重新启动服务器后,运行: PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 19653 lighttpd 16 0 67584 39m 16m R 21.3 15.3 0:17.60 php-cgi 8006 mysql 15 0 137m 22m 4800 S 5.3 8.8 1:07.91 mysqld 13364 lighttpd 16 0 63560 39m 20m S 2.3 15.3 0:34.57 php-cgi 1 root 15 0 2068 648 […]

MySQL吃CPU使用(紧急)

最近,我清除了我的网站的caching文件,现在MySQL正在吃掉高达100%的CPU。 它在5分钟内从10%缓慢增长到100%,服务器崩溃。 幸运的是,我通过#service mysql stop停止了服务,但每次打开服务,它都开始吃掉CPU。 这里是错误日志: #/usr/bin/mysqld_safe –datadir=/var/lib/mysql –pid-file=/var/lib/mysql/dev.system.de.pid 101112 18:22:03 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql 101112 18:22:03 [Warning] option 'innodb-additional-mem-pool-size': signed value 204800 adjusted to 524288 101112 18:22:03 [Warning] option 'innodb-log-buffer-size': signed value 204800 adjusted to 262144 101112 18:22:03 [Note] Plugin 'ndbcluster' is disabled. 101112 18:22:03 InnoDB: Started; log sequence number […]

等待daemontools服务停止

我正在daemontools下运行一个服务,发送TERM信号需要几秒钟的时间才能停止。 我需要在脚本中停止它,然后等待进程停止,然后再继续执行LVM快照或重新启动服务。 守护进程提供了一种方法来做到这一点? 如果不是,最好的办法是什么? 我想睡觉,而svcok退出0,但似乎这应该是一个更容易的解决scheme的常见问题。 思考?

如何在Mac OS X(或iOS等)上永久“渲染”一个进程?

我使用了一个名为ATMonitor for Mac OS X的好的(免费的)进程pipe理器,它有很多很酷的隐藏function…其中一个能够点击一个正在运行的进程..并设置“renice”从+20不太重要)到-20(最高优先级)。 最好的部分….它坚持之间重新启动…所以你要XYZ得到充分的关注,所有的时间..你设置一次,它完成了。 .. 我想在运行特定守护进程的iPad上执行相同的操作(renice进程)。但是,如果这阻止了在这里发布这个问题的任何火焰,那么它也可能是Debian服务器…我不知道如何永久设置renice。 我可以做一次,它可以正常工作…但重新启动时设置丢失。 我在某处读书 现在,对于永久重置stream程的优先级,这不能直接完成。 然而,你可以用一个启动应用程序的shell脚本来伪装它,然后马上renice它。 给这个脚本一个“.command”的扩展名,它将在GUI中双击。 不是很优雅,但它完成了工作。 但正如它所说..不是很优雅,我不认为这是如何ATMonitor它呢…. 我该如何设置一个永久renice级别,每个可执行二进制文件,独立于它的PID,何时,如何或为什么启动?

从/ etc / inittab重新启动Perl脚本(套接字守护进程)

我在高峰时期运行了一个大约500名用户的小型多人纸牌游戏 : 客户端在Flash中,服务器在Perl中。 Perl服务器绑定到8080端口,即只能启动1个实例(重要细节)。 Perl服务器轮询()的TCP套接字和叉只有一次 – 在启动时通过调用此方法: sub daemonize { die "Can not fork: $!\n" unless defined (my $child = fork()); # the parent should die exit 0 if $child; setsid(); open(STDIN, '</dev/null'); open(STDOUT, '>/tmp/pref.txt'); open(STDERR, '>&STDOUT'); chdir('/'); umask(0); } …. $tcpSocket = IO::Socket::INET->new(Proto => 'tcp', LocalPort => 8080, Listen => SOMAXCONN, ReuseAddr => 1, […]

告诉runit马上拿起新的服务

作为一个快乐的用户runit – 我很好奇,如果有可能发送一个信号到主进程(或类似的),告诉它现在在服务目录? 目前的行为在扫描新服务之间的时间间隔<5秒(大多数情况下似乎快得多) – 但是我认为如果我也能够告诉它,这将是很好的(在5秒最坏的情况是烦人的情况下 – 很less见 – 但讨厌)。

在启动时使用upstart运行Python脚本

我试图创build一个新贵的脚本来启动时运行一个python脚本。 从理论上讲,这看起来很简单,但我似乎无法得到它的工作。 我正在使用我在这里find并改变的骨架脚本。 description "Used to start python script as a service" author "Me <[email protected]>" # Stanzas # # Stanzas control when and how a process is started and stopped # See a list of stanzas here: http://upstart.ubuntu.com/wiki/Stanzas#respawn # When to start the service start on runlevel [2345] # When to stop the service stop […]

更清洁的方式来重新启动daemontools服务

在我们的产品中,我们使用daemontools创build了服务。 我的一个服务是这样的, /service/test/run /service/test/log/run (has multilog command to log into ./main dir) /service/test/log/main/.. 所有进程及其目录都由root用户拥有。 现在有这样一个安全要求的变化, 1. Service should run in non-root user. 2. Log main directory should be readable only to user and groups. 为此,我必须更改“日志”目录下的“运行”文件。 另外我需要更改它下面的“主”目录的权限。 请注意,“/ service”下的所有这些文件都由test-1.0-0.rpm拥有。 当我更新我的rpm,它覆盖了现有的运行文件,并得到这样的错误, multilog: fatal: unable to lock directory ./main: access denied 我知道我们不应该在运行时重写“运行”文件。 我计划在我的rpm脚本%post部分按照这些步骤, //Stop service svc -d /service/test/log […]

chkconfig在各级显示closures,但它正在运行

在我的CentOS6机器上, chkconfig显示如下的httpd ,但每次重启系统时都会自动运行。 httpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off 我可以检查更多的知道哪个init逻辑使它成为? 请注意,我的同事在/opt/lampp目录下安装了lampp, ps aux显示如下。 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND daemon 2159 0.0 0.3 432752 5368 ? S 01:57 0:00 /opt/lampp/bin/httpd -k start -E /opt/lampp/logs/error_log -DSSL -D