Java进程和操作系统进程有什么关系?
Java进程在实现上就是创建了操作系统的一个进程,也就是每个JVM中创建的进程都对应了操作系统中的一个进程。但是,Java为了给用户更好的更方便的使用,向用户屏蔽了一些与平台相关的信息。
在使用C / C ++创建系统进程的时候,是可以进行的PID值的,可以直接通过该PID去操作相应进程。但是在JAVA中,用户只能通过实例的引用去进行操作,当该引用丢失或无法获得的时候,就无法了解任何该进展的信息。
Java进程在使用的时候还有些要注意的事情:
Java提供的输入输出的管道容量是十分有限的,如果不及时读取会导致进程挂起甚至引起死锁。当创建进程去执行Windows下的系统命令时,如:dir,copy等。需要运行Windows的命令解释器,command.exe / cmd.exe,这依赖于Windows的版本,这样才可以运行系统的命令。对于Shell中的管道'| '命令,各平台下的重组命令符'>,都无法通过命令参数直接转换进行实现,而需要在Java代码中做一些处理,如定义新的流来存储标准输出,等等问题。Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有