我正在尝试使用Java创建一个小程序来分叉两个新的子进程。它是针对初学者的编程课程的,他们的教程都使用C语言编写,因此,我正在寻求一些帮助,以了解此技巧,以及将其适应基于Java的程序的最佳方法(最终在它)。
#include <sys/types.h>
#include <stdio.h>
#include <unistd.h>
int main()
{
pid t pid;
/*fork a child process*/
pid = fork();
if (pid < 0) { /*error occurred*/
fprintf(stderr, "Fork Failed");
return 1;
}
else if (pid == 0) {/*child process */
execlp("/bin/ls", "ls", NULL);
}
else { /*parent process*/
/*parent will wait for the child to complete */
wait(NULL);
printf("Child Complete");
}
return 0;
}
更新:
我应该给每个子进程及其父进程附加一个ID,在子进程执行时打印信息,并在终止时打印终止通知。现在,我看到上面的这段代码列出了当前目录的内容,并在进程终止时显示“
Child Complete”。列出整个目录是否被视为一个过程?如果是这样,第二个新子进程将在哪里/如何出现?
在Java中,可能看起来像-
public static void main(String[] args) {
try {
Process p = Runtime.getRuntime().exec("/bin/ls");
final InputStream is = p.getInputStream();
Thread t = new Thread(new Runnable() {
public void run() {
InputStreamReader isr = new InputStreamReader(is);
int ch;
try {
while ((ch = isr.read()) != -1) {
System.out.print((char) ch);
}
} catch (IOException e) {
e.printStackTrace();
}
}
});
t.start();
p.waitFor();
t.join();
System.out.println("Child Complete");
} catch (Exception e) {
e.printStackTrace();
}
}
我只是在看android逆向工程教程,我注意到他们中的大多数人在反编译apk后修改smali代码而不是实际的java源代码,这是有原因的吗? 感谢您的帮助。 谢啦
问题内容: 我正在尝试将Java应用程序分发给OS X用户。我不使用Mac商店-可以通过我自己的网站进行分发。无论我如何尝试,OS X的Gatekeeper都会拒绝该应用程序。 这是我的方法: (1)像往常一样构建应用程序,获取一个JAR文件 (2)按此处所述使用:https : //docs.oracle.com/javase/7/docs/technotes/guides/jweb/packa
以便在我的应用程序中使用它。我正在测试一个原生C++Android Studio模板项目。 我已经在GitHub上上传了完整的项目供参考:https://GitHub.com/jacobkrieg10/javacppnewexample 还有,下面是我认为需要注意的项目中的相关文件: nativelibrary.java: cmakelists.txt: 注意,Native-lib.cpp只是模板
问题内容: 基本上,我想做两件事: 我想知道是否可以使用Java代码运行Java代码。 如果可能的话,如何在屏幕上显示输出?(无论是常规输出还是错误或异常) 我知道这是可能的,因为我的一位前辈已经做到了,但是我不知道他是如何做到的。也许他使用了Java的内置类之一。 注意:用户将代码写入一些文本文件中,然后将文件内容存储在某个变量中,然后也许运行该代码。 问题答案: 是的,有可能。 步骤1:编译代
问题内容: 我想知道如何在Java中运行PHP代码。使用ScriptEngine,我可以运行JavaScript: 为此,我导入了库。我相信要运行PHP,我必须导入一个类似的库,并将上面代码的第三行更改为extension 。不幸的是,我不知道这是哪个库。我已经用Google搜索并找到了答案,并遇到了PHP / Java Bridge库,但是我认为这并不是我要找的,因为它专注于通过PHP运行Jav
问题内容: 我有一个我想混合使用Java和Scala源代码的应用程序(实际上是将Java应用程序迁移到Scala的应用程序,但一次)。 我可以在IDE中很好地完成这项工作。但是我不确定如何使用Maven做到这一点- scalac可以编译Java和Scala交织在一起,但是如何为模块设置Maven? 另外,我的Scala源代码是否必须与Java文件夹不同? 问题答案: 使用maven scala插件