如何在ubuntu上同时运行一些进程?

如何在ubuntu上同时运行一些进程?

我想验证我的电脑是否支持虚拟地址。然后我写了一个.cpp代码。但我不知道如何同时运行它们。我使用命令

./t &
./t

但它不起作用。

我的代码在这里:

#include <cstdio>
#include <iostream>
#include <unistd.h>
using namespace std;

int svar = 0;

   int main()
   {
    int lvar = 0;
    svar +=1;
    lvar +=1;
    sleep(10);
    printf("svar address:%x, val %d\n",&svar,svar);
    printf("lvar address:%x, val %d\n",&lvar,lvar);
   }

它源自操作系统原理和实践。

运行结果为t.cpp

svar address:bc0f9014, val 1
svar address:afef5014, val 1
lvar address:7960b824, val 1
lvar address:bf7bf314, val 1

因为地址不一样,可能不支持虚拟地址,然后我又写了一段代码测试是否真的同时运行,也就是

三次a.cppprint("a\n");

三次b.cppprint("b\n");

然后运行./a & ./b,结果是

a
a
a
b
b
b

这意味着它./a先运行然后运行,./b因此这两个程序不会同时运行。

相关内容