Articles of 过程

如果我启动一个后台进程然后注销,它会继续运行吗?

经过与同事长时间的讨论后问这个问题,我真的很想在这里澄清一下。 我启动一个后台进程,可以通过在命令行中追加“ & ”,或者通过CTRL-Z停止并使用“ bg ”在后台恢复。 然后我退出。 怎么了? 我们确信它应该被SIGHUP杀死,但是这并没有发生。 当再次login时,该过程高兴地运行,并且pstree显示它被init “采纳”。 这是预期的行为? 但是,如果是这样, nohup命令的目的是什么? 看起来这个过程不会被杀死,无论有没有… 编辑1 一些更多细节: 该命令是从SSH会话启动的,而不是从物理控制台启动的。 该命令没有 nohup和/或& ; 然后用CTRL-Z暂停,然后用bg重新开始。 ssh会话没有下降。 有一个实际的注销(“ exit ”命令)。 该过程是一个scp文件的复制操作。 再次login时, pstree显示进程正在运行并且是initsubprocess。 编辑2 要更清楚地说明问题:将背景(使用&或bg )放到一个进程忽略SIGHUP ,就像nohup命令一样? 编辑3 我尝试手动发送一个SIGHUP scp :它退出,所以它绝对不会忽略信号。 然后我再次尝试启动它,把它放在后台并注销: init被“采纳”并继续运行,并且在重新login时发现它。 我现在很困惑。 看起来没有SIGHUP被发送在所有upong注销。

你如何释放死亡过程中的一个港口?

我的一位同事最近遇到了一个问题,那个据说死亡的进程仍然绑定在一个networking端口上,阻止其他进程绑定到这个端口。 具体地说, netstat -a -b报告一个名为System with PID 4476的进程打开了端口60001,除了没有PID 4476的进程存在,至less据我所知。 进程资源pipe理器和任务pipe理器没有列出PID 4476(虽然有另一个名为System PID 4,它有自己的一套TCP连接,不包括60001)进程。 taskkill /PID 4476也报告找不到PID 4476。 有没有办法杀死这个神秘的系统进程释放目前绑定的端口? 什么会导致这种情况发生? 怎样才能有任务pipe理器,进程资源pipe理器和taskkill都不知道的进程? 重新启动pipe理来解决这个问题,但我想知道是否有办法解决这个问题,而无需重新启动。

你如何logging你的工作,stream程和环境?

你使用的是wiki格式? 如果是这样,哪个产品? (MediaWiki,Confluence,Sharepoint等) 你有没有build立知识库? (面向问题/解决scheme的简短文档。) 在创build可用的文档时,您会遇到什么样的挑战,所以在休假时您不能接听电话? 对我而言,我发现通常会有一定的组织“惰性”来完成文档。 这似乎是一个不同的人,可以完成一项任务,然后想想他们是如何完成这个任务的,然后形容它,这样别人就可以做到这一点 – 对你来说有一种力量“去元化”,并不是每个人都可以这样做。 更新 迄今为止的答案包括 合stream 因为FlexWiki FogBugz的 Mediawiki(带有插件如fckeditor) 的SharePoint TWiki的 Word / Excel / Visio文档 logging脚本 编辑:你是不是隐式地logging你的networking与您的监测系统? Nagios一直鼓励使用父母指令来反映你的networking结构, notes_url指令旨在允许你链接到维基或其他基于浏览器的文档。 所以在这里,“文档”分为监控系统的“活文档”和维基中更详细的离线文档。 由于我花了很多时间盯着Nagios,所以尽可能将信息尽可能地提供给我们是很有意义的。

Unix上正在运行的进程的环境variables?

我需要排除Unix系统中与环境variables有关的一些问题。 在Windows上,我可以使用ProcessExplorer等工具来select特定的进程并查看每个环境variables的值。 我怎样才能在Unix上完成同样的事情? echoing和env cmd只显示当前值,但我想查看当前运行的进程正在使用什么值。