好的,我正在使用linux中的以下C/C++代码:
int main() {
printf("hello");
Pid = fork();
if (pid > 0)
printf("I’m the parent!");
else
printf("I’m the child");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我的CS教授的笔记说如下:
创建新的子进程后,两个进程将在
fork()系统调用后执行下一条指令.请注意,Unix将精确复制父级的地址空间并将其提供给孩子.因此,父进程和子进程具有单独的地址空间.
出于这个原因,我非常困惑为什么它不仅会再次输出当前目录而且还会再次输出"你好"?我认为它会做到这一点的唯一可能原因是它说"复制地址空间"只是在fork之前重新运行所有命令,但这没有任何意义.
我有一个名为input的JTextArea,当我按向上箭头键时,我试图将字符串inputValue加载到其中.到目前为止,这段代码似乎不起作用,我不确定为什么.请帮忙.
input.addKeyListener(new KeyListener() {
public void keyTyped(KeyEvent e) {
System.out.println("test");
if(e.getKeyCode() == KeyEvent.VK_UP) {
input.setText(inputValue);
System.out.println("up is pressed");
}
}
@Override
public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
}
@Override
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
}
});
Run Code Online (Sandbox Code Playgroud) 我有以下代码从名为 posts 的表中删除一行。由于某种原因,该帖子没有被删除。我也尝试通过命令行手动管理命令,它工作得很好。我也确定 post_id 是正确的并且不为空,因为我也尝试过将它传回并打印它并且 ID 正确显示。我应该提到它不会吐出错误。只是什么都没有发生。
def deletePost(post_id):
con = sql.connect("database.db")
cur = con.cursor()
cur.execute("DELETE FROM posts WHERE id = (?)", [post_id])
con.close()
Run Code Online (Sandbox Code Playgroud)