begin process at 2012 02 10 16:05:17
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Linux

 > 

GUI

 > 

Encor besoins d'aide


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Encor besoins d'aide

vendredi 8 février 2008 à 13:45:52 | Encor besoins d'aide

gokudo

salut mes freres , j'aimerai vous demander un grand service .

notre prof de TP unix nous a demander de simuler des commnde unix en C  (comme ps ,kill,copy ). je suis perdu car sous unix on ne pe pas utiliser les API aussi parceque je ne compren pas vraiement  le principe. merci d'avoir eu la patience de lire ça  et jesper que qq'1 d'entre vous pourra m'aider (a avoir une bonne note) . avec un pe de documentation ou qq code source de commande ( n'importe quelle ).

ENCOR MERCI A TOUS LE MONDE.

 

vendredi 8 février 2008 à 16:40:28 | Re : Encor besoins d'aide

CCJ

Membre Club
Salut.
Petit exemple :

#include <stdlib.h>
#include <stdio.h>
// Ce sont les headers standart C contenant un certain nombre de fonctions

int main(int argc,char** argv){ // le point d'entré du programme , argc correspond au nombre d'arguments passés en console , argv est un pointeur de pointeur (ou appelé tableau de pointeurs)

if(argc > 1){// si on a des arguments passés en commande
for(int i=1; i < argc; i++){//boucle qui sexecute pour tous les i compris entre argc et 0
printf("%s\n",argv[i]);
}
}else{//si aucun parametre envoyé
printf("Aucun argument saisit\n");//affiche le message
}
return 0;// la fonction d'entrée , main , retourne 0 , le programme s'est bien deroulé
}

Voila si tu as des questions...


Si l'informatique été de l'alcool il y aurait des genies partout
samedi 9 février 2008 à 00:15:26 | Re : Encor besoins d'aide

SAKingdom

Membre Club
gokudo >> Si tu veux faire une sorte de shell, t'auras pas le choix de passer par les API.

C++ (@++)

mercredi 13 février 2008 à 09:52:33 | Re : Encor besoins d'aide

rt15

Membre Club Administrateur CodeS-SourceS
Salut,

Le C doit être pour linux, windows, ou portable ?

Je vais partir du principe qu'il est pour Linux...

stdlib.h, (présent sous unix et Windows) contient une fonction qui s'appelle system, qui prend en argument le une commande (Exemple : system("ps"); )

C'est un peu tricher, m'enfin refaire kill c'est faisable, refaire copy c'est plus long, mais alors ps on en parle pas.
Pour refaire ps, je crois qu'il faudrait passer par les fichier contenus dans /proc. Du boulot de fourmis.

Si tu utilises system, la seule chose que tu as a faire est de passer les arguements reçus par ton programme (argv) a la commande de ton system.

Concaténation.
system
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char** argv)
{
char commande[200]; // La ligne de commande que l'on va executer
int i;
strcpy(commande, "ps");
for (i = 1 ; i < argc ; i++)
{
strcat(commande, " ");
strcat(commande, argv[i]);
}

printf("Execution de la commande : %s\n", commande);
system(commande);

return 0;
}

mercredi 13 février 2008 à 14:22:08 | Re : Encor besoins d'aide

SAKingdom

Membre Club
Ça ne sert strictement à rien de faire un code de la sorte. Quel en serait l'intérêt ?
Deplus, si il doit refaire les programmes, là, on ne refait rien du tout.

C++ (@++)

mercredi 13 février 2008 à 15:09:49 | Re : Encor besoins d'aide

rt15

Membre Club Administrateur CodeS-SourceS
Bon bon.

Si on veut faire ça plus sérieusement, y a du boulot.
Donc disons que l'énoncé demande seulement de refaire une partie des
fonctionnalités de ces commandes.

1) Pour kill, c'est assez facile, signal.h propose une fonction kill.
Pour l'aide, taper :
man 2 kill
dans un terminal. Cette fonction prend en argument un PI et un siganl.
Mais après, faut se bouffer le parsage et l'implémentation des options... Par exemple, avec l'option -l, kill affiche la liste des 64 noms de signaux disponibles, que l'on peut ensuite utiliser avec l'option -s... Passionnant.

2) cp, a elle aussi presque autant d'options que de lettre d'alphabet, sans compter qu'elles sont en version longue ou non (style -v est équivalent à --verbose).
Pour faire une bête copie en C il faut utiliser heuuu... Bah je sais pas si on peut faire autrement que open/read/write. Pour les répertoires, il y a mkdir (man 2 mkdir). Après, un coup de récursivité, et le tour est joué.

3) Pour ps, tout est détaillé dans des fichiers de /proc. Dans ce dossier, il y a un dossier par processus avec pour nom le PID de celui-ci. J'avais déjà touché à ça ici, et c'étais super moche.
Idem que les autres, pleins d'options : le man fait plus de 1000 lignes.

Ce que je trouve super chiant chez linux, c'est que peu importe la façon dont je cherche, je tombe toujours sur du bash, du bash, du bash et encore du bash... Jamais de C. Et j'ai pas encore trouvé un seul site de programmation C sous Linux (Pas la prog à la stdio j'entends...).
mercredi 13 février 2008 à 15:19:06 | Re : Encor besoins d'aide

rt15

Membre Club Administrateur CodeS-SourceS
Ah si j'avais trouvé celui-là qui a entre autre les pages du man.
Les fonctions C sont dans le man 2. Rien pour la copie de fichiers on dirait.



Cette discussion est classée dans : aide, unix, demander, besoins, encor


Répondre à ce message

Sujets en rapport avec ce message

systeme de fichiers [ par samder76 ] Je ne sais pas si C le bon endroit pour demander de l'aide...Je dois réaliser un système de fichier sous Unix.-La gestion des fichiers doit se faire p Besoins D'aide Nouveaux ! [ par AMokers ] Bonjours à Tous voila je suis autant nouveaux sur ce forum que dans le language C++Voila je voudrais apprendre ce magnifique language mais je ne sait Besoins d'aide pour faire un algorythme du triangle de pascal en C?? [ par Gokuan ] Hello tout le monde, Voilà, il faut que je fasse l'algorythme qui me permet de calculé le triangle de Pascal, mais j'essai mais je n'y arrive pas, al Projet morphing en commun [ par supergrey ] Salut a tous, je désire réaliser, avec l'aide de ceux qui désireront m'aider, un logiciel de morphing.Ce que je sais faire: -morphing entre 2 images d JE BESOIN URGENTMENT D'AIDE!!!!!!! [ par Valde_91 ] Bonjour! Je suis un étudiant de génie mécanique et pour la fin de cette sémestre (semani prochiane) je doit faire un projet en c++. Le but est de dévl Recherche de l'aide pour devellopper un jeu [ par Vortex99011 ] Bonjour, En fait j'aimerais créer un jeu inspiré de Bumpy's Arcade Fantasy (assez peu connu) qui date de 1992 créé par la société Loriciel (maintenant dev-c++ : aide en ligne [ par benitd ] Bonjour,j'ai du mal avec la programmation en C, C++. J'aimerais pouvoir ajouter une aide en ligne dans l'éditeur Dev-C++.De cette manière, je pourrais Aidez moi... répondez quelques choses au moins. [ par FlamZeNioub ] Salut... z'êtes pas très gentil de ne jamais répondre à mes questions :sMais j'ai tjs besoin d'aide alros je reviens demander de l'aide.Dans une inter petit aide Direct X sous borland [ par Fuckly94 ] Bonjour à tous,je souhaiterez avoir un petit peu d'aide avec l'API Direct X sous Borland.je souhaiterais que cette aide se fasse sous MSN si possible. A l'aide please :'( [ par xarier ] Salut je poster plusieur question ces jour si ,alors j'ai pensé de les posté toutes .svp je voudrait que vous m'expliquez les choses qui sont un peut


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 6,271 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales