Autor: Zhangchang Chang
En algunos casos, a menudo se necesita para poner en marcha múltiples terminales y permitir que el terminal para realizar la ejecución automática de comandos, con el fin de lograr el propósito de mejorar la eficiencia operativa. En el comando gnome-terminal start terminal de linux,
gnome-terminal -x seguido del comando ejecutado, bash es el comando subshell de arranque de linux, bash -c "la cadena de comandos que se ejecutará ", incrustando Establecer gnome-terminal -x bash -c ......, significa iniciar una nueva terminal,
y ejecutar bash -c en la terminal recién iniciada, es decir, iniciar la subshell y ejecutarla mediante la subshell -c La cadena de comando entre comillas dobles. Al mismo tiempo, para garantizar que el terminal recién abierto de gnome-terminal no salga, después de la cadena de comandos bash-c
agregue bash para permitir que se ejecute un proceso, en este caso agregue el comando erl, directamente a erl La terminal, por supuesto, no se cerrará.
c idioma versión:
#include < unistd.h > #include < sys /types.h > #include < stdio.h > #include < stdlib.h > Int main (int argc, char * argv []) {int count = atoi (argv [1]), i; para (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);}
Execute ./a.out 3 Este programa utiliza el modo multiproceso asíncrono, el subproceso de bifurcación, a través de la ejecución de llamadas del sistema (..) correspondiente al sistema El comando, el programa debe prestar atención a (1) cómo la función principal toma parámetros, los parámetros son de argv [1], el parámetro predeterminado de argv [0] es " 0 ", en realidad la longitud de la matriz argv Es el número de parámetros externos más 1; (2) bifurcación fuera del proceso hijo, todavía ejecutará el bucle for, por lo que para evitar este fenómeno, después de que se ejecute el proceso hijo de bifurcación, exit (0) permite que el hijo procese la salida, inicie el siguiente hijo Proceso; (3) el valor de retorno de la bifurcación es 0 en el proceso hijo, en el proceso padre Número de proceso generado proceso hijo; atoi (4) idioma c () se puede convertir a un entero cuerdas.
Bash shell version
#! /bin /bash para ((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
El script es más ligero y flexible, tenga en cuenta que &está activado para ejecutarse en segundo plano para evitar el bloqueo del proceso actual En la siguiente ejecución, se puede ver que el shell también es un modelo multiproceso, y el script js es un modelo de proceso único.
Reimpreso para indicar la fuente.
Después de instalar la máquina virtual de dos tarjetas de red virtuales:? 1.bridged (modo puente
causa proceso de implementación de aplicaciones en una piscina virtual, se descubre entor
Si desea probar un sistema de escritorio que no sea Mac y Windows, Linux definitivamente debería ser
Hay muchos mensajes en la red sobre cómo instalar el método de entrada Sogou en Ubuntu, pero parece
Sistema Linux descomprimir descompresión Nombre chino solución distorsionada
La diferencia entre enlaces duros y enlaces simbólicos
Cómo agregar fuentes en el sistema Linux
Comandos comunes de linuxvi detallados
Cómo ver los registros en el sistema Linux (comandos comunes)
Comunicación entre procesos en el entorno de Linux: tuberías y tuberías bien conocidas tuberías de
Servicio Linux Servicio NFS y SAMBA
Estructura de juicio en Linux Shell
Instalación de la fuente del software [Linux] - Tarball
Ver el contenido del archivo en linux cat, more, less
Cómo ver la aplicación del disco duro del disco duro en Linux
¿Cómo instalar JITwatch en el sistema Linux?
¿Cómo resolver el icono de escritorio de la computadora WinXP ha sido manipulado?
Cómo descargar rápidamente Youku, Potato Video
Microsoft anunció los requisitos de hardware del sistema Win10
Resuelva la red Win7 desconectada automáticamente golpe pequeño
Optimización del sistema Win7 para mejorar el rendimiento del sistema
¿Cómo agregar extensiones de traducción al navegador Edge en Win10?