我需要nginx pid与monit一起工作,pid只是意外消失,我必须重新启动vps才能恢复! 每天晚上都在发生! 但即使他消失了,他仍然在跑! 在线网站! 但显然我无法监测状态,重新启动,停止等…我需要PID! 当我试图通过terminal看到我的状态 terminal命令行输出错误: service nginx status ● nginx.service – A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: en Active: failed (Result: exit-code) since Sun 2017-11-05 06:25:07 WET; 1h 50mi Process: 5062 ExecStop=/sbin/start-stop-daemon –quiet –stop –retry QUIT/5 – Process: 1527 ExecStart=/usr/sbin/nginx -g daemon […]
我们有几个生产WCF服务无法启动,因为他们的端口明显被另一个进程使用。 我做了一个netstat -ano,并find正在使用这些端口的PID,它们都处于LISTEN状态。 托pipe在同一个进程中的端点/服务端口都具有相同的PID,因此可以检出。 问题是,在任务pipe理器中我看不到任何这些PID。 当尝试使用-b选项时,netstat报告进程是[System]。 它报告正在工作的服务的正确进程名称,但不报告这些端口。 我怀疑,我们的服务的旧实例可能是悬而未决…和服务器重新启动可能会解决这个问题,但我宁愿知道发生了什么事情之前采取行动。 不幸的是我不允许在prodction环境中安装Process Explorer。 我还有什么其他选项可以find这些PID的进程名称? 对不起,可能是一个noob问题,但我不是一个系统pipe理员:) 感谢迈克尔
service nsd status nscd dead but subsys locked 它开始很好,但最终崩溃… server: logfile: "/var/log/nsd.log" pidfile: "/var/run/nsd/nsd.pid" 什么随机导致NSD做到这一点? 日志: [1354003784] nsd[403807]: notice: nsd started (NSD 3.2.13), pid 403807 [1354003804] nsd[403810]: info: NSTATS 1354003804 1354003784 A=33 TXT=1 AAAA=7 [1354003804] nsd[403810]: info: XSTATS 1354003804 1354003784 RR=0 RNXD=0 RFwdR=0 RDupR=0 RFail=0 RFErr=0 RErr=0 RAXFR=0 RLame=0 ROpts=0 SSysQ=0 SAns=41 SFwdQ=0 SDupQ=0 SErr=0 […]
$ ps UID PID PPID C STIME TTY TIME CMD il 17626 1 0 14:02 ? 00:00:00 /bin/bash /usr/bin/xdg-open file:///media/distrpart/Downloads/utorrent/test.png 我想知道是谁启动了xdg-open,但是父母死了。 有没有办法让进程死在一定的超时?
我有一个基于他们的PIDclosures服务器进程的PHP脚本。 看起来它运行的很好,但是,我在Apache的错误日志中发现了这个奇怪的东西。 有什么想法是什么意思? [Thu Jul 24 10:27:09.609608 2014] [mpm_prefork:notice] [pid 920] AH00169: caught SIGTERM, shutting down [Thu Jul 24 10:27:10.731370 2014] [mpm_prefork:notice] [pid 1548] AH00163: Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.3 configured — resuming normal operations [Thu Jul 24 10:27:10.731516 2014] [core:notice] [pid 1548] AH00094: Command line: '/usr/sbin/apache2' [Thu Jul 24 10:27:17.709118 2014] [mpm_prefork:notice] [pid 1548] AH00169: caught […]
FSH认为套接字和pid文件应该到/var/run但是,为了安全起见,只有root可以在这个位置创build文件和子目录。 一个常见的解决scheme是在/var/run为脚本创build一个子目录,然后用十个chmod命令创build一个子目录…但是当你不能访问root用户时该怎么办? 如果我没有root权限,我应该在哪里放置.socket(和一个.pid)?
我正在为debian 8和systemd打包一些守护进程。 守护进程可以自己创buildPID文件,但由于非root用户,它没有写入/运行的权限。 它用来通过旧的sysV init-script创buildPID文件,但是它在systemd上不起作用。 我可以像这样在服务文件中使用解决方法: Environment="PIDDIR=/var/run/mydaemon" PermissionsStartOnly=true ExecStartPre=/bin/mkdir -p $PIDDIR ExecStartPre=/bin/chown -R mydaemon. $PIDDIR 但它看起来不正确。 我可以使用/ tmp作为$ PIDDIR,但它也似乎是错误的。 实际上,我需要一个PID文件的唯一原因是logrotate的postrotate发送SIGUSR1到守护进程: [ -s /run/mydaemon.pid ] && kill -USR1 `cat /run/mydaemon.pid` 也可以使用pgrepsearch守护进程的pid,但似乎是不可靠的。 logrotate中的copytruncate似乎不是最好的select,因为丢失了部分日志的risc。 那么,通过systemdpipe理PID文件的正确方法是什么? 有没有办法通过systemd发送随机信号到守护进程?
我启动ssh -S mysocket example.com来连接example.com 。 如果我的连接挂起,我需要kill这个过程: ssh -S mysocket example.com -N -L 1234:localhost:1234 & last_pid=$! …(do something blocker) kill $last_pid 但是这不起作用。 如果last_pid是XXXX ,那么当我用ps -ef | grep ssh检查实际进程时 ps -ef | grep ssh ,进程'PID似乎XXXX + 1 。 这意味着ssh -S socket在后台启动,产生一个subprocess并退出。 在这种情况下,我们如何捕获最后一个pid?
我知道某个特定的进程正在重启我的Web服务器(可能是在一个cron工作中),但是我不知道哪一个进程,只有它是id(从Web服务器日志我已经检查了几个日志的PID)。 有没有办法find一个进程已经走了一段时间(几个小时)的进程名称/batch file,只给出PID?
有了识别进程的PID的能力,比如说HTTPD,我怎么能在稍后的同一台服务器上确定PID /进程是否仍然是原始进程? 例如,我可以在PID 123下有一个HTTPD进程。 几分钟后,该进程可能会被终止,并在( 巧合的 )PID 123下创build一个新的HTTPD进程。 如果我正在监视一个PID,我不会确定HTTPD曾经被终止过。 我可以依靠哪些方面来确定在/proc/<PID>下可识别的唯一性 理想情况下,创build一个DTTM,将是最佳的,虽然我不知道这个信息在/prod/PID下的内核重新表示