linux下通过命令启动多个终端执行相应的命令和程
系统教程导读
互联网集市收集整理了【linux下通过命令启动多个终端执行相应的命令和程】操作系统教程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1314字,纯文字阅读大概需要2分钟。
系统教程内容图文
![linux下通过命令启动多个终端执行相应的命令和程](/upload/InfoBanner/systemjiaocheng/299/e934de0692d540f38b97d1511b4e14fe.jpg)
为您提供
gnome-terminal -x 后跟执行的命令,bash是linux启动子shell的命令,bash -c "所要执行的命令串",通过嵌套gnome-terminal -x bash -c ......,表示启动新终端,
并在新启动的终端里执行bash -c,即启动子shell,由子shell执行-c后面的双引号括起来的命令串。同时为保证gnome-terminal新启的终端不退出,要在bash -c的命令串后
加bash让其有一个进程在运行,本例中加的是erl命令,直接进入erl终端,当然不会退出。
c语言版:
#include <unistd.h>
#include <syspes.h>
#include <stdio.h>
#include <stdlib.h>
int main(int argc,char * argv[])
{
int count = atoi(argv[1]),i;
for(i=0;i<count;i++)
{
pid_t pid = fork();
if(pid == 0)
{
//printf("child=%d ",getpid());
system("gnome-terminal -x bash -c 'ulimit -n 1000000;cd /home;erl'");
exit(0);
}
}
exit(0);
}
执行 ./a.out 3
该程序采用异步多进程方式,fork子进程,通过system(。。。。)系统调用执行相应的命令,该程序需要注意的是(1)main函数如何带参数,所带的参数是从argv[1]开始的,argv[0]默认的参数为“0”,实际上argv数组的长度是外面参数的个数加1;(2)fork出的子进程,照样会执行for循环,因此为避免此现象发生,fork子进程执行后,exit(0)让子进程退出,启动下一个子进程;(3)fork返回值在子进程里是0,在父进程里是生成的子进程进程号;(4)c语言的atoi()可以把字符串转化为整型。
Bash shell版
#!/bin/bash for((i=0;i<$1;i++)) do ((port=2+i)) gnome-terminal -x bash -c "cd /home;ulimit -n 1000000;erl +K true -run io format $port" & done
以上就是给大家介绍的如何使的方法都有一定的了解了吧,好了,如果大家还想了解更多的资讯,那就赶紧点击官网吧。
本文来自http://www.win7cn.com/如需转载请注明!推荐:win7纯净版
系统教程总结
以上是互联网集市为您收集整理的【linux下通过命令启动多个终端执行相应的命令和程】操作系统教程的全部内容,希望文章能够帮你了解操作系统教程linux下通过命令启动多个终端执行相应的命令和程。 如果觉得互联网集市操作系统教程内容还不错,欢迎将互联网集市网站推荐给好友。
系统教程备注
版权声明:本文内容由互联网用户贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
系统教程手机端
扫描二维码推送至手机访问。