我们大多是一家Linux商店,但是我们有一台运行Windows Server 2008的打印服务器,并使用名为Print Helper的应用程序打印发票。 我需要find一种方法来检查这个应用程序是否正在运行,如果没有,就自动重启。 在Linux上,我可能会用一个小的shell脚本和一个cron作业来做这件事,但是我不知道如何在Windows Server上完成这个工作。 我相当有信心,我可以使用Proc :: Background在Perl中完成它,但是我不愿意为一个脚本安装Perl,虽然我确信它可以使用类似PowerShell的东西来完成,但这并不值得利用我的时间来学习一个小任务的PowerShell。 任务列表似乎做了一些我想要的东西,它可以让你知道如果一个特定的进程正在运行或不,但我不知道我怎么可以从那里自动重新启动应用程序,如果它坠毁。 任何帮助感激地收到!
我有几个简单的cron作业在root下运行。 然而,他们似乎跑了两次,我不明白为什么。 没有其他用户运行任何cron作业,唯一的cronfile是root用户。 工作完成得很好,但两次。 这里是根crontab文件: # /etc/crontab: system-wide crontab # Unlike any other crontab you don't have to run the `crontab' # command to install the new version when you edit this file # and files in /etc/cron.d. These files also have username fields, # that none of the other crontabs do. SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin # […]
我正在为某些备份过程设置一些后台SSH隧道。 但是我担心ssh进程只是坐在一旁。 在我的脚本结尾,我杀了PID,但是如果我的脚本发生了什么,它不能完成。 我想要一些更健壮的东西。 有没有办法让SSH隧道在X秒/分钟后自杀? 目前我是这样开始的 ssh -f -N -L 14880:internalserver:3306 gateway.example.com 然后使用lsof来获取打开该端口的PID。
我正在运行一个RedHat 5.5,我想知道如何识别一个进程的端口。 这是netstat的输出,我试图find与端口35670相关的进程: $ netstat -tulnp tcp 0 0 0.0.0.0:35670 0.0.0.0:* LISTEN – 我尝试了下面的方法来获得关联的进程到这个端口,但无济于事: $ lsof -nl | grep TCP $ fuser 35670/tcp 这终于为我工作。 $ rpcinfo -p 100021 3 tcp 35670 nlockmgr 如果不执行上面的命令,您将如何检测到端口35670与nlockmgr相关联。 奇怪的是nlockmgr不显示当我这样做: $ ps aux 感谢您的帮助提前。
我想知道的是在最后2-3次重启之前分配给进程的PID 。 场景是在这个特定的进程崩溃之后,生成一个日志文件并且进程的PID连接到日志文件的名字 。 我有这样的5个日志文件名称为hs_err_PIDs 。 我想确认这些PID是否被分配到了我所关心的过程中,因为我对此有点困惑。 有什么办法可以做到吗?
看来我的服务器杀了一个进程,因为它使用了太多的内存。 这可能吗? 如果可能发生,我怎么知道什么时候和什么程序被杀害?
好吧,我已经在任务pipe理器中尝试过了 – 没有奏效。 然后我尝试在命令行: taskkill /im name.exe /F 它说(这是一个来自波兰的翻译,所以它不是确切的): ERROR: can't end process "name.exe" with PID 6788. Cause: Access denied. 有人遇到过这个? 任何解决scheme,然后重新启动
假设我们有一个组( dev ),它拥有许多用户和一个共享的开发目录,所有包含的文件都具有g+rwx权限。 这个设置是否足够,以便任何dev用户可以杀死任何其他dev用户启动的进程(假设进程是以默认权限启动的)? 例如,假设我们拥有由user1(在组dev )所拥有的文件/opt/devfolder/bin/foo ,其中组ID为dev和权限0770.如果user2(在组dev )从他的shell中启动一个“foo”可以user3(在组dev )杀了它? [编辑] 如果没有,我们如何使用sudo或其他标准的UNIX工具来实现?
我试图确定一个进程在运行时创build哪些文件。 我知道我可以通过查看/ proc或使用lsof来列出当前正在运行的进程的文件句柄。 但是,问题在于程序在不到一秒的时间内完成。 有什么办法可以得到它运行时打开的文件列表? 我正在使用CentOS。
我知道如何使用lsof或netstat来做相反的事情(找出哪个进程打开了某个端口),但是Google的广泛研究并没有帮助我解决相反的问题。 我知道我可以使用“netstat -np”结合一些grep和sed,但它似乎是hacky。 是否有反向版本的“lsof -i tcp:80”会显示给定进程打开的所有本地端口?