Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/07/2007, 21h24   #1
Rédacteur
 
Inscription : juillet 2004
Messages : 2 573
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : juillet 2004
Messages : 2 573
Points : 1 973
Points : 1 973
Par défaut Récupérer l'information CPU type

Bonjour

j'ai un script shell qui permet via deux ou trois questions de créer mon fichier make.conf.

Dans ce fichier, je dois indiquer la ligne suivante:
Je ne veux pas proposer une liste de cpu à choisir mais plutôt une ligne de code qui pourrait trouver le type cpu tout seul.

Sous FreeBSD, pour obtenir cette information, on utilise cette commande:
On obtient en résultat ceci, du moins sur ma machine:
Code :
CPU: Mobile AMD Sempron(tm) Processor 2800+ (1600.06-MHz 686-class CPU)
Je souhaite récupérer uniquement ce qui est en gras rouge.

Avez-vous une petite idée ?

Merki
__________________
.Olivier
Olivier Regnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/07/2007, 21h30   #2
Rédacteur
 
Avatar de Arnaud F.
 
Homme Arnaud Feltz
Développeur .NET
Inscription : août 2005
Messages : 5 204
Détails du profil
Informations personnelles :
Nom : Homme Arnaud Feltz
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Développeur .NET
Secteur : Transports

Informations forums :
Inscription : août 2005
Messages : 5 204
Points : 6 113
Points : 6 113
__________________
C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère

Installation de Code::Blocks sous Debian à partir de Nightly Builds
Arnaud F. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/07/2007, 21h40   #3
Rédacteur
 
Inscription : juillet 2004
Messages : 2 573
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : juillet 2004
Messages : 2 573
Points : 1 973
Points : 1 973
Et non

Mon cpu est de type i686 mais un uname -m me renvoit i386 (hardware platform)
__________________
.Olivier
Olivier Regnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/07/2007, 23h41   #4
Membre expérimenté
 
Avatar de BlaireauOne
 
Inscription : mars 2007
Messages : 469
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : mars 2007
Messages : 469
Points : 576
Points : 576
Citation:
Envoyé par Olivier Regnier
Sous FreeBSD, pour obtenir cette information, on utilise cette commande:
On obtient en résultat ceci, du moins sur ma machine:
Code :
CPU: Mobile AMD Sempron(tm) Processor 2800+ (1600.06-MHz 686-class CPU)
En me servant de "MHz " et "-" comme référence, ça donne :

Code :
 dmesg | grep -i cpu | sed "s/^.*MHz \([^-]*\)-.*$/\1/"
http://www.shellunix.com/regexp.html
__________________
Loi de Murphy:
La Théorie c'est quand ça ne marche pas mais que l'on sait pourquoi.
La Pratique c'est quand ça marche mais qu'on ne sait pas pourquoi.
Quand la théorie rejoint la pratique ça ne marche pas et on ne sait pas pourquoi.
BlaireauOne est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2007, 06h50   #5
Membre Expert
 
Avatar de granquet
 
Étudiant
Inscription : octobre 2005
Messages : 1 202
Détails du profil
Informations personnelles :
Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2005
Messages : 1 202
Points : 1 181
Points : 1 181
si tu veux faire quelque chose de générique, je ne pense pas que tu puisse te baser sur la chaine dans dmesg
perso sur gentoo:
Code :
powernow-k8: Found 1 AMD Athlon(tm) 64 Processor 3000+ processors (version 2.00.00)
j'ai pas l'arch du pross directement. (j'ai cherché, j'ai aucun message contenant x86_64)

a part en jouant avec /proc/cpuinfo (family + model), j'ai peur que ce soit difficile a déterminer de maniere correcte et sure
__________________
click my www
............|___
...................\
.................._|_
..................\ /
..................."
granquet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2007, 11h38   #6
Membre Expert
 
Avatar de SnakemaN
 
Bidouille-tout Android
Inscription : juillet 2006
Messages : 871
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Bidouille-tout Android

Informations forums :
Inscription : juillet 2006
Messages : 871
Points : 1 102
Points : 1 102
et (sudo) dmidecode ?
__________________
C'est le signe d'un fou, qu'avoir honte d'apprendre
Ubuntu 10.04 Lucid Lynx @home
LE guide libre Linux & Ubuntu pour tous : Simple comme Ubuntu
SnakemaN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2007, 15h18   #7
Modérateur
 
Avatar de gangsoleil
 
R&D en systemes informatiques bas niveau Unix/Linux
Inscription : mai 2004
Messages : 5 499
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : R&D en systemes informatiques bas niveau Unix/Linux

Informations forums :
Inscription : mai 2004
Messages : 5 499
Points : 9 682
Points : 9 682
Bonjour,

Je crains qu'aucune des commandes proposée jusqu'ici ne soit portable...

Exemple sous Solaris :
  • dmesg : dmesg looks in a system buffer for recently printed diagnostic messages and prints them on the standard output.
  • dmidecode : n'existe pas
  • /proc/cpuinfo : n'existe pas
  • uname -m : Prints the machine hardware name (class). Use of this option is discouraged; use uname -p instead.

Seul "uname -p" a l'air de fonctionner, avec toutefois des réserves car le man précise : "Prints the current host's ISA or processor type."
__________________
Modérateur "C", "Informatique Générale & Hardware" et "Unix"
Les règles du forum
gangsoleil est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2007, 15h34   #8
Rédacteur/Modérateur
 
Avatar de gorgonite
 
Homme Nicolas Vallée
Ingénieur Système
Inscription : décembre 2005
Messages : 9 774
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Vallée
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Ingénieur Système
Secteur : Transports

Informations forums :
Inscription : décembre 2005
Messages : 9 774
Points : 14 303
Points : 14 303
Citation:
Envoyé par gangsoleil
Seul "uname -p" a l'air de fonctionner, avec toutefois des réserves car le man précise : "Prints the current host's ISA or processor type."

pas trop...

Code :
1
2
gorgonite@GorgonMobile:~$ uname -p
unknown
perso, je pense qu'un parsage adequate de cpuinfo peut permettre de recouper les infos... suffit de détecter athlon 64 / opteron => amd64 (on peut vérifier le uname pour être sur qu'il ne tourne pas en mode 32 bits )

pentium => i586
pentium II/III/IV/M ; athlon sans le 64 => i686

restes à avoir suffisamment de donner pour tester.


mais quel est l'intérêt du truc ? a priori, l'utilisateur devrait pouvoir choisir (s'il veut faire du cross-compiler par exemple )
__________________
Evitez les MP pour les questions techniques... il y a des forums
Contributions sur DVP : Mes Tutos | Mon Blog
gorgonite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2007, 17h32   #9
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 546
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juillet 2006
Messages : 3 546
Points : 7 779
Points : 7 779
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#define _POSIX_C_SOURCE 1
 
#include <sys/utsname.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
 
int main (void)
{
        struct utsname utsname;
        long sysconf_return;
        if (uname(&utsname) == -1 )
        {
                perror("uname()");
                // en cas d'erreur d'analyse du systeme
        }
        else
        {
                fprintf(stdout,"%s", utsname.machine);
        }
        return EXIT_SUCCESS;
}
la tu es sur que l'utilisateur n'as pas ete modifier l'information
et que donc elle est vraie (pas issue d'une astuce d'un utilisateur cranneur... qui se croit malin et va modifier les fichiers logs ou le /proc/cpuinfo pour faire croire qu'il a un gros pc hyper puissant au lieu d'une babasse....
Code :
1
2
3
 
TEST-FRSP:/stock/dev/c # gcc -Wall -O9 proc.c -o proc && strip proc && ./proc
i686TEST-FRSP:/stock/dev/c #

voila un exemple d'informations modifiee :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
TEST-FRSP:/stock/dev/c/sources # cat /proc/cpuinfo 
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 7
model name      : Octium III (Katmai)
stepping        : 3
cpu MHz         : 547.639
cache size      : 512 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 2
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat pse36 mmx fxsr sse
bogomips        : 1096.07
clflush size    : 32
 
TEST-FRSP:/stock/dev/c/sources #
Ok faut etre vislard.. mais on sais jamais....
frp31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2007, 22h55   #10
Rédacteur
 
Inscription : juillet 2004
Messages : 2 573
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : juillet 2004
Messages : 2 573
Points : 1 973
Points : 1 973
Je ne sais pas comment vous remmercier pour votre aide mais j'ai trouvé la réponse via un lien sur FUG-FR et une similaire sur la mailing-list de FreeBSD. Mon processeur est de type : athlon-xp

Merci
__________________
.Olivier
Olivier Regnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2007, 16h30   #11
Membre Expert
 
Avatar de SnakemaN
 
Bidouille-tout Android
Inscription : juillet 2006
Messages : 871
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Bidouille-tout Android

Informations forums :
Inscription : juillet 2006
Messages : 871
Points : 1 102
Points : 1 102
Je sais que c'est résolu mais je note juste que j'ai découvert lshw qui vraiment super
__________________
C'est le signe d'un fou, qu'avoir honte d'apprendre
Ubuntu 10.04 Lucid Lynx @home
LE guide libre Linux & Ubuntu pour tous : Simple comme Ubuntu
SnakemaN est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h35.


 
 
 
 
Partenaires

Hébergement Web