|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Nov 2010
Messaggi: 30
|
[C++] Funzione fork
Domanda stupida e veloce.
La funzione fork per creare processi figli è utilizzabile solo nel linguaggio c oppure si può utilizzare anche nel c++?! Saluti |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Mar 2009
Messaggi: 753
|
Si, ma è una chiamata syscall su Linux. Credo che ti sia più conveniente utilizzare i threads, ma naturalmente dipende dallo scopo della tua domanda... e cosa devi fare
ho visto l'uso di fork() quasi esclusivamente nei servizi (demoni) dei SO Unix. |
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Nov 2010
Messaggi: 30
|
Infatti mi è venuto il dubbio appunto perchè, programmando su windows, la funzione fork() non credo nemmeno che esista. Credo ci sia la funzione createProcess. Io dal mio programma c++, dovrei lanciare una console chiamata cygwin che emula linux. Usando la funzione system, la mia console dos si TRASFORMA nella console cygwin. Io vorrei invece fare in modo che la console cygwin si apra in un altra finestra e fare in modo che svolga le operazioni che voglio...è possibile?!
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Mar 2009
Messaggi: 753
|
No, infatti su windows non esiste fork(), si usano threads diversi, che non sono processi... ma questo è un'altro discorso...
mmm... prova ad eseguire un file .bat; il quale chiama la console cygwin, non sono pratico di questa ma con un passaggio di argomenti sempre su linea di comando penso si possa fare, un modo c'è senz'altro... |
![]() |
![]() |
![]() |
#5 |
Member
Iscritto dal: Nov 2010
Messaggi: 30
|
Anche creando il file .bat non mi cambia niente. La mia shell di c++ si TRASFORMA in cygwin.
Hai altre idee?! ![]() |
![]() |
![]() |
![]() |
#6 | ||
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
Quote:
Se vuoi impostare da programma le operazioni che deve eseguire allora devi redirigere lo standard input e/o standard output del processo che stai creando. |
||
![]() |
![]() |
![]() |
#7 |
Member
Iscritto dal: Nov 2010
Messaggi: 30
|
Riuscito!!
è bastato usare la funzione createprocess() Ora devo capire come lanciare i miei comandi dal mio programma c++ alla mia console cygwin. E credo sarà davvero dura. Un ringraziamento a tutti!! ![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 20:58.