gauret Posté(e) le 1 septembre 2004 Partager Posté(e) le 1 septembre 2004 Bon, par contre il y aura un bug si ton fichier contient des majuscules accentuées : $ echo É | tr [:upper:] [:lower:] É Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 1 septembre 2004 Auteur Partager Posté(e) le 1 septembre 2004 Ah zut, je pensait que c'était géré. J'avais hésité à faire ça ou le contraire. J'ai choisi la mauvaise solution. Dans ce cas, il faut inverser les deux dernières lignes. Dabord les accents, puis les lettres capitales. PS : Pas des majuscules, des lettres capitales http://fr.wikipedia.org/wiki/Majuscule Lien vers le commentaire Partager sur d’autres sites More sharing options...
gauret Posté(e) le 2 septembre 2004 Partager Posté(e) le 2 septembre 2004 Dans ce cas, il faut inverser les deux dernières lignes. Dabord les accents, puis les lettres capitales. Dans ce cas là, ton tr doit être deux fois plus long puisqu'il doit prendre en compte aussi les lettres capitales :) Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 2 septembre 2004 Auteur Partager Posté(e) le 2 septembre 2004 Ouais, je suis dégouté. J'ai repensé à ça pendant mon éval. Je me suis mis à gratter des lignes de commande sur mon brouillon... Mais sans l'interpréteur, c'est dur. J'ai cherché comment "simplifier" ça (d'une façon tordue, d'où les guillemets), mais ça ne fonctionne pas. Mais je ne lache pas l'affaire. Je suis sûr qu'il y a moyen. Question comment faire pour faire un script qui récupère le nom de l'user qui l'a lancé pour pouvoir l'imprimer sur l'écran par exemple ? #!/bin/sh #Recup du nom de l'user echo $USER Lien vers le commentaire Partager sur d’autres sites More sharing options...
lorinc Posté(e) le 3 septembre 2004 Partager Posté(e) le 3 septembre 2004 alors ça c'est facile : whoami Raah le traitre qui demande à ce qu'on pose un question dont il connait la reponse... (nan, en fait je m'en suis rendu compte apres... ) Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 3 septembre 2004 Auteur Partager Posté(e) le 3 septembre 2004 J'y ai pensé, même si j'ai une préférence pour who am i Est ce que tu es sûr que ça fonctionne si il est lancé par un demon apache par exemple ? (je pense que oui, mais bon) Tu as gagné le droit de poser une question donc... c'est traitre de profiter que personne ne soit là... Re EDIT : Et non, quel con, moi je pensait à who Lien vers le commentaire Partager sur d’autres sites More sharing options...
lorinc Posté(e) le 3 septembre 2004 Partager Posté(e) le 3 septembre 2004 alors j'ai une question super facile : que se passe-t-il si on arrive à faire ça (une partie de la question étant de le faire...) lrwxrwxrwx 1 lorinc lorinc 5 sep 3 02:46 lien1 -> lien4 lrwxrwxrwx 1 lorinc lorinc 5 sep 3 02:44 lien2 -> lien1 lrwxrwxrwx 1 lorinc lorinc 5 sep 3 02:44 lien3 -> lien2 lrwxrwxrwx 1 lorinc lorinc 5 sep 3 02:45 lien4 -> lien3 et que l'on lance un des symlinks??? et ouais, c'est simple, mais c'est à mon niveau (d'ailleurs, on se rend compte que linux est bien foutu quand même... ) EDIT : c'est pas parce qu'on est que 2 à cette heure sur le forum, qu'il faut en profiter, si tu crois que je ne t'ai pas vu... Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 3 septembre 2004 Auteur Partager Posté(e) le 3 septembre 2004 Déja, tu as le droit de lancer un coup de ntp-date. Apparament ton truc ne fonctionne pas. Quand le cron me lance le script, j'ai une ligne vide dans mon fichier de log... Sinon, il me semble que linux interdit les les liens récursifs, il ne devrait donc ne rien faire du tout Mais je ne suis pas sûr et il faut que j'aille me coucher EDIT : , ça va, je m'en vais C'est vrai que c'est pas très sport. Lien vers le commentaire Partager sur d’autres sites More sharing options...
tuXXX Posté(e) le 3 septembre 2004 Partager Posté(e) le 3 septembre 2004 alors j'ai une question super facile : que se passe-t-il si on arrive à faire ça (une partie de la question étant de le faire...) lrwxrwxrwx 1 lorinc lorinc 5 sep 3 02:46 lien1 -> lien4 lrwxrwxrwx 1 lorinc lorinc 5 sep 3 02:44 lien2 -> lien1 lrwxrwxrwx 1 lorinc lorinc 5 sep 3 02:44 lien3 -> lien2 lrwxrwxrwx 1 lorinc lorinc 5 sep 3 02:45 lien4 -> lien3 et que l'on lance un des symlinks??? et ouais, c'est simple, mais c'est à mon niveau (d'ailleurs, on se rend compte que linux est bien foutu quand même... ) EDIT : c'est pas parce qu'on est que 2 à cette heure sur le forum, qu'il faut en profiter, si tu crois que je ne t'ai pas vu... Bof... $ ln -s l1 l4 $ ln -s l2 l1 $ ln -s l3 l2 $ ln -s l1 l4 $ ll total 0 lrwxr-xr-x 1 damien users 2 Sep 3 03:22 l1 -> l2 lrwxr-xr-x 1 damien users 2 Sep 3 03:22 l2 -> l3 lrwxr-xr-x 1 damien users 2 Sep 3 03:22 l3 -> l4 lrwxr-xr-x 1 damien users 2 Sep 3 03:22 l4 -> l1 $ ./l1 zsh: too many levels of symbolic links: ./l1 (pour le whoami, un petit "whereis whoami" indique que c'est "/bin/whoami" donc c'est ça qu'il faudrait utiliser dans un script un peu bozarre sans PATH) Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 3 septembre 2004 Auteur Partager Posté(e) le 3 septembre 2004 Ca ne semble pas fonctionner non plus. Et pour ceux qui ne l'auraient jamais fait, je vous invite à taper #who am i #whoami Puis comparer les deux. Lien vers le commentaire Partager sur d’autres sites More sharing options...
lorinc Posté(e) le 3 septembre 2004 Partager Posté(e) le 3 septembre 2004 Bof... $ ln -s l1 l4 $ ln -s l2 l1 $ ln -s l3 l2 $ ln -s l1 l4 $ ll total 0 lrwxr-xr-x 1 damien users 2 Sep 3 03:22 l1 -> l2 lrwxr-xr-x 1 damien users 2 Sep 3 03:22 l2 -> l3 lrwxr-xr-x 1 damien users 2 Sep 3 03:22 l3 -> l4 lrwxr-xr-x 1 damien users 2 Sep 3 03:22 l4 -> l1 tiens, tu y arrive comme ça, parce que normalement, si t'as un bon shell : ln -s l1 l2 [lorinc@localhost test_teo]$ ln -s l2 l1 ln: `l1': fichier existant. [lorinc@localhost test_teo]$ ln -s --force l2 l1 ln: `l2' et `l1' identifient le même fichier. ça m'étonne ton truc... Lien vers le commentaire Partager sur d’autres sites More sharing options...
lorinc Posté(e) le 3 septembre 2004 Partager Posté(e) le 3 septembre 2004 bon, puisque ma question precedente était un fiasco absolu... j'ai mets une autre : comment limiter le nombre maximal de fichier ouverts en même temps, de processus d'un utilisateur, la taille de la pile la quantité de swap disponible pour un utilisateur et la taille maximale d'un fichier? le tout en une seul ligne, bien evidement... Lien vers le commentaire Partager sur d’autres sites More sharing options...
gauret Posté(e) le 3 septembre 2004 Partager Posté(e) le 3 septembre 2004 man ulimit ? (en fait, man bash, recherche ulimit) Lien vers le commentaire Partager sur d’autres sites More sharing options...
-rem- Posté(e) le 3 septembre 2004 Partager Posté(e) le 3 septembre 2004 C'est marrant en fait, peu de gens ici connaissent ulimit.... C'est dommage, parce que du coup ils croient que cela varie selon les distributions, etc... Faudrait les Lien vers le commentaire Partager sur d’autres sites More sharing options...
lorinc Posté(e) le 3 septembre 2004 Partager Posté(e) le 3 septembre 2004 exact ulimite -a pour connaitre les limites actuelles (et les options par la même accose) ou limit en tcsh d'ailleurs, ça me fait repenser à ton petit programme de l'autre jour : on voit bien que le nombre de processus à une limite que tu peux fixer. autant la fixer relativement basse (un user va pas avoir 200 processus de lancés), tu peux aussi limiter le temps CPU. Si tu te trouve fasse au programme de l'autre jour, il suffit de se logger avec un utilisateur plus puissant et de kiiller les processus de l'autre... va faire ça avec l'autre (win)daube... Lien vers le commentaire Partager sur d’autres sites More sharing options...
-rem- Posté(e) le 3 septembre 2004 Partager Posté(e) le 3 septembre 2004 , il suffit de se logger avec un utilisateur plus puissant Comment tu te logge lorsque tous les apples systemes sont "aspirés" ??? Tu devrais essayer cette commande si tu n'as trop rien a faire lorinc... Lien vers le commentaire Partager sur d’autres sites More sharing options...
lorinc Posté(e) le 3 septembre 2004 Partager Posté(e) le 3 septembre 2004 tu ne peux juste plus creer de processus avec ce user là. ton programme, il ne fait que se forker jusqu'a plus soif, donc arrive un moment ou il a atteint la limite du systeme. Si la limite du systeme est la limite hard, alors oui, tu peux plus rien faire. Si elle est < a la limite hard, alors tu peux encore faire plein de chose, comme basculer dans un autre console et te logger (qui est prioritaire)... Lien vers le commentaire Partager sur d’autres sites More sharing options...
-rem- Posté(e) le 3 septembre 2004 Partager Posté(e) le 3 septembre 2004 tentes... Lien vers le commentaire Partager sur d’autres sites More sharing options...
lorinc Posté(e) le 3 septembre 2004 Partager Posté(e) le 3 septembre 2004 [lorinc@localhost test_teo]$ ./test_fork 27162 pts2 Z 0:00 [test_fork] <defunct> 27166 pts2 Z 0:00 [test_fork] <defunct> 27173 pts2 Z 0:00 [test_fork] <defunct> 27182 pts2 Z 0:00 [test_fork] <defunct> 27186 pts2 Z 0:00 [test_fork] <defunct> 27192 pts2 Z 0:00 [test_fork] <defunct> 27202 pts2 Z 0:00 [test_fork] <defunct> 27236 pts2 Z 0:00 [test_fork] <defunct> 27242 pts2 Z 0:00 [test_fork] <defunct> 27246 pts2 Z 0:00 [test_fork] <defunct> 27254 pts2 Z 0:00 [test_fork] <defunct> 27257 pts2 Z 0:00 [test_fork] <defunct> 27262 pts2 Z 0:00 [test_fork] <defunct> 27266 pts2 Z 0:00 [test_fork] <defunct> 27282 pts2 Z 0:00 [test_fork] <defunct> 27288 pts2 Z 0:00 [test_fork] <defunct> 27290 pts2 Z 0:00 [test_fork] <defunct> 27291 pts2 Z 0:00 [test_fork] <defunct> 27298 pts2 Z 0:00 [test_fork] <defunct> 27302 pts2 Z 0:00 [test_fork] <defunct> 27308 pts2 Z 0:00 [test_fork] <defunct> 27312 pts2 Z 0:00 [test_fork] <defunct> 27325 pts2 Z 0:00 [test_fork] <defunct> 27328 pts2 Z 0:00 [test_fork] <defunct> 27334 pts2 Z 0:00 [test_fork] <defunct> 27338 pts2 Z 0:00 [test_fork] <defunct> 27347 pts2 Z 0:00 [test_fork] <defunct> 27350 pts2 Z 0:00 [test_fork] <defunct> 27358 pts2 Z 0:00 [test_fork] <defunct> 27367 pts2 Z 0:00 [test_fork] <defunct> 27369 pts2 Z 0:00 [test_fork] <defunct> 27373 pts2 Z 0:00 [test_fork] <defunct> 27379 pts2 Z 0:00 [test_fork] <defunct> 27389 pts2 Z 0:00 [test_fork] <defunct> 27423 pts2 Z 0:00 [test_fork] <defunct> 27429 pts2 Z 0:00 [test_fork] <defunct> 27433 pts2 Z 0:00 [test_fork] <defunct> 27450 pts2 Z 0:00 [test_fork] <defunct> 27454 pts2 Z 0:00 [test_fork] <defunct> 27465 pts2 Z 0:00 [test_fork] <defunct> 27469 pts2 Z 0:00 [test_fork] <defunct> 27475 pts2 Z 0:00 [test_fork] <defunct> 27485 pts2 Z 0:00 [test_fork] <defunct> 27489 pts2 Z 0:00 [test_fork] <defunct> 27495 pts2 Z 0:00 [test_fork] <defunct> 27511 pts2 Z 0:00 [test_fork] <defunct> 27515 pts2 Z 0:00 [test_fork] <defunct> 27524 pts2 Z 0:00 [test_fork] <defunct> 27531 pts2 Z 0:00 [test_fork] <defunct> 27533 pts2 Z 0:00 [test_fork] <defunct> 27537 pts2 Z 0:00 [test_fork] <defunct> 27543 pts2 Z 0:00 [test_fork] <defunct> 27557 pts2 Z 0:00 [test_fork] <defunct> 27561 pts2 Z 0:00 [test_fork] <defunct> 27566 pts2 Z 0:00 [test_fork] <defunct> j'en coupe un paquet tu m'expliques comment j'ai fait pour envoyer le post, si mon pc il freeze... j'ai juste tweaker les limites autorisée au user... Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 3 septembre 2004 Auteur Partager Posté(e) le 3 septembre 2004 Tu as fait un top avec tous les processus zombies non killés, pour voir l'utilisation de la memoire et du cpu ? Pareil pour un uptime ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
lorinc Posté(e) le 3 septembre 2004 Partager Posté(e) le 3 septembre 2004 j'ai simplement ouvert 2 session shell sous kde, l'une avec mon compte (limité) l'autre avec root... Lien vers le commentaire Partager sur d’autres sites More sharing options...
-rem- Posté(e) le 3 septembre 2004 Partager Posté(e) le 3 septembre 2004 moauis, parce que tu as mis une limite tres basse lorinc.... Pour contourner le pb... Fait le sur un install toute fraiche...tu verras. Lien vers le commentaire Partager sur d’autres sites More sharing options...
lorinc Posté(e) le 3 septembre 2004 Partager Posté(e) le 3 septembre 2004 certes, au passage : Le nombre maximal de processus simultané : il est conseillé de mettre une valeur suffisamment haute (par exemple 256) dans les fichiers d'initialisation du shell de connexion, mais de ne pas laisser la limite infinie. En effet, cela permet de prévenir les erreurs de programmation où l'on boucle sur un fork(). Au bout d'un certain temps, celui-ci échouera et, de cette manière, root pourra stopper tous les processus du groupe fautif depuis une autre console. Christophe Blaess, Programmation système en C sous Linux, page208-209. Comme quoi je dis pas n'importe quoi sans réfléchir, je me suis quand même documenté sur la question avant... Lien vers le commentaire Partager sur d’autres sites More sharing options...
tuXXX Posté(e) le 3 septembre 2004 Partager Posté(e) le 3 septembre 2004 tiens, tu y arrive comme ça, parce que normalement, si t'as un bon shell : ln -s l1 l2 [lorinc@localhost test_teo]$ ln -s l2 l1 ln: `l1': fichier existant. [lorinc@localhost test_teo]$ ln -s --force l2 l1 ln: `l2' et `l1' identifient le même fichier. ça m'étonne ton truc... bof, ça marche avec zsh et bash... essaye en enlevant d'abord tous les l1 et l2, parce que le "ln: `l1': fichier existant.", c'est ptet juste qu'il reste l1... Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 4 septembre 2004 Auteur Partager Posté(e) le 4 septembre 2004 Comment détruire toutes les lignes vide d'un fichier ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.