Questions tagged «process»

该标签与操作系统进程有关。它也可以引用给定平台上的特定构造,例如.NET的System.Diagnostics.Process类。


2
Unix中会话和进程组的用途和含义?
Unix进程具有一个会话ID,并且是进程组的一部分-可以使用setsid()/ getpgrp()之类的函数来更改/查询该进程组。 但是,过程组和会话的概念始终使我难以理解,任何人都可以解释具有不同的会话和过程组的意义-为什么/何时创建一个新会话或将多个过程置于同一会话和/或过程组中?
80 unix  process 

8
有没有办法在Python中更改有效的进程名称?
我可以更改Python脚本的有效进程名称吗?当我获得系统进程列表时,我想显示一个不同的名称而不是进程的真实名称。在CI中可以设置 strcpy(argv[0],"othername"); 但是在Python中 argv[0] = "othername" 似乎不起作用。当我获得进程列表(ps ax在Linux框中带有)时,真实姓名不变。如果存在的话,我更喜欢一种便携式解决方案(或者针对posix的一种解决方案,以及针对Windows环境的另一种解决方案)。 提前致谢
78 python  process  arguments  hide  ps 


9
如何从父进程获取子进程
是否可以从Shell脚本中的父进程ID获取子进程ID? 我有一个要使用Shell脚本执行的文件,这会导致一个新进程process1(父进程)。这个过程1已经分叉的另一个进程过程2(子进程)。使用脚本,我可以使用以下命令获取process1的pid : cat /path/of/file/to/be/executed 但我无法获取子进程的pid。

17
使用Java的Runtime.exec()时如何添加超时值?
我有一种用于在本地主机上执行命令的方法。我想向该方法添加一个超时参数,以便如果被调用的命令没有在合理的时间内完成,则该方法将返回错误代码。这是到目前为止的样子,无法超时: public static int executeCommandLine(final String commandLine, final boolean printOutput, final boolean printError) throws IOException, InterruptedException { Runtime runtime = Runtime.getRuntime(); Process process = runtime.exec(commandLine); if (printOutput) { BufferedReader outputReader = new BufferedReader(new InputStreamReader(process.getInputStream())); System.out.println("Output: " + outputReader.readLine()); } if (printError) { BufferedReader errorReader = new BufferedReader(new InputStreamReader(process.getErrorStream())); System.out.println("Error: " …


3
参数传递策略-环境变量与命令行
我们开发人员编写的大多数应用程序都需要在启动时进行外部参数设置。我们传递文件路径,管道名称,TCP / IP地址等。到目前为止,我一直在使用命令行将其传递给正在启动的应用程序。我必须解析命令行,main并将参数定向到需要它们的位置,这当然是一个很好的设计,但是对于大量参数来说很难维护。最近,我决定使用环境变量机制。它们是全局的,并且可以从任何地方访问,从体系结构的角度来看,这虽然不太优雅,但是限制了代码量。 这是我对这两种策略的第一(也许很浅)的印象,但是我想听听更有经验的开发人员的意见-使用环境变量和命令行参数将参数传递给流程有什么起伏?我想考虑以下事项: 设计质量(灵活性/可维护性), 内存限制 解决方案的可移植性。 备注: 广告。1.这是我感兴趣的主要方面。 广告。2.这有点实用。据我所知,这是目前在Windows上一定的局限性巨大(超过32kB的两个命令行和环境块)。我想这不是问题,因为您只需要使用文件来传递大量参数即可。 广告。3.我对Unix几乎一无所知,所以我不确定这两种策略是否与Windows一样可用。如果需要,请详细说明。

1
Htop显示具有不同pid的多个Java进程
我的Linux机器上的Htop在启动一个Java程序/ JVM之后显示了许多“进程”。我确实知道JVM运行多个线程(用于实际程序,用于垃圾回收等)。 但是htop为何将它们列出为具有不同pid的多个进程。这些过程到底是什么?
74 java  process  jvm  htop 

7
Shell脚本读取缺少的最后一行
我对bash shell脚本有一个奇怪的问题,我希望对此有所了解。 我的团队正在研究一种脚本,该脚本在文件中的各行之间进行迭代,并检查每个文件中的内容。我们有一个错误,即通过自动流程将不同的脚本排序在一起时,没有看到最后一行。 名称存储在文件中使用遍历行(代码DATAFILE为 cat "$DATAFILE" | while read line 我们可以从命令行运行脚本,它将看到文件中的每一行,包括最后一行,都很好。但是,当由自动化过程运行时(该过程运行的脚本恰好在所涉及的脚本之前运行了生成DATAFILE的脚本),则永远不会看到最后一行。 我们更新了代码,以使用以下代码遍历各行,并解决了问题: for line in `cat "$DATAFILE"` 注意:DATAFILE在文件末尾没有换行符。 我的问题分为两部分:为什么原始代码看不到最后一行,为什么会有所不同? 我只以为我可以提出为什么看不到最后一行的原因是: 上一个写入文件的过程依靠该过程结束以关闭文件描述符。 问题脚本启动和打开文件的速度足够快,尽管先前的进程已“结束”,但它没有“关闭/清理”足够多的系统来自动关闭文件描述符。 话虽这么说,如果您在Shell脚本中有2个命令,那么在脚本运行第二个命令时,第一个命令应完全关闭。 任何对问题的见解,特别是第一个问题,将不胜感激。
74 bash  process 


5
用户级线程和内核支持的线程之间的区别?
我一直在浏览基于该主题的一些说明,尽管我对线程有一个总体的了解,但是我不确定是用户级别线程还是内核级别线程之间的区别。 我知道进程基本上是由多个线程或单个线程组成的,但是这些线程是前面提到的两种类型吗? 据我了解,内核支持的线程可以访问内核以进行系统调用和用户级线程无法使用的其他用途。 那么,用户级线程是否仅仅是程序员在使用内核支持的线程执行由于其状态而无法正常执行的操作时创建的线程?


11
如何守护Java程序?
我有一个要在linux系统上守护的Java程序。换句话说,我要在外壳中开始运行,并在注销后继续运行。我还希望能够干净地停止该程序。 我发现这篇文章结合使用了外壳脚本和Java代码来达到目的。看起来不错,但我希望有一些简单的方法。 在Linux系统上守护Java程序的首选方法是什么?
73 java  process  daemon 

11
在PHP中使用实时输出运行过程
我试图在网页上运行一个进程,该进程将实时返回其输出。例如,如果我运行“ ping”进程,则每次返回新行时都应更新页面(现在,当我使用exec(command,output)时,我被迫使用-c选项,等到进程完成后才能看到在我的网页上输出)。是否可以在php中做到这一点? 我也想知道当有人离开页面时杀死这种过程的正确方法是什么。在“ ping”进程的情况下,我仍然能够在系统监视器中看到正在运行的进程(有意义)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.