OVH Cloud OVH Cloud

FreeBSD 5.4 : truss

36 réponses
Avatar
patpro ~ Patrick Proniewski
Bonjour,

j'étais familier de la commande truss sur FreeBSD 4.x, et je viens de
m'apercevoir qu'elle ne fonctionne pas sur 5.4 :

$ truss ls
truss: cannot open /proc/4509/mem: No such file or directory
$ truss ls
truss: PIOCWAIT: Input/output error

...

est ce connu ? Mon procfs est bien monté, mais j'ai des soucis avec son
contenu qui semble limité a 128 process (ps en retourne bien plus, mais
ls -1 /proc/ | wc -l retourne invariablement 128.)

patpro

10 réponses

1 2 3 4
Avatar
Eric Jacoboni
(Michel Talon) writes:


Aprés vérification ça marche avec bash et zsh, mais pas csh ni sh,


J'ai dit « avec tout bon shell » ;-)

donc c'est encore un truc de derrière les fagots.


Ben non, pas tant que ça... ce sont des extensions au shell POSIX et
ça date au moins de 93 puisque ksh93 en dispose déjà (peut-être même
de 88, mais je n'ai pas de ksh88 pour tester).
--
Eric Jacoboni, ne il y a 1441582612 secondes

Avatar
Marwan Burelle
In article , TeXitoi wrote:
Pour ce genre de truc, y'a seq :

for i in `seq 1 400` ; do
sleep 20&
done


Hum ...

[ 11:10 ~]> seq 5
zsh: correct 'seq' to 'gseq' [nyae]? n
zsh: command not found: seq
[ 11:10 ~]> gseq 5
1
2
3
4
5

C'est un truc gnu qui n'est pas dispo en standard, visiblement ...

[ 11:11 ~]> pkg_info -W gseq
/usr/local/bin/gseq was installed by package coreutils-5.2.1

Ce qui n'est pas le cas de jot(1) (qui soit dit en passant fait plus
de chose : random, printf(3) like substitutions ... ) qui fait partie
de la base. Mais bon, par contre, je ne sais pas si jot est dispo pour
d'autre OS (genre sous nunux et effectivement pas de jot sur la debian
que je viens de regarder ... )

Bon : linux seq et pas jot, solaris (SunOS 5.7) pas de jot et seq
dispo (mais bon dans /usr/local/gnu/bin donc pas standard non plus.)

Reste la construction avec un for, mais si ce n'est pas dans tous les
shells (bash _n'est pas_ un shell standard, c'est aussi un ajout gnu,
ksh c'est déjà mieux mais il n'est pas forcément dispo partout.)

(pour ceux qui me prendraient pour un extrémiste lorsque je parle
d'"ajouts gnu" qui ne sont pas standards : vous avez peut être raison,
mais dès que l'on rentre dans un contexte où les machines sont
hétérogènes et que l'on n'est pas forcément root dessus, ben on finit
pas chercher les dénominateurs communs, j'ai fait cours dans des
salles de TP où aucun outils gnu n'étaient dispo parce que l'admin
n'en voyait pas l'intéret, toute ce dont il avait besoin Solaris le
fournissait, dans ce cas là je ne peux pas fournir à mes étudiants des
scripts qui ne marcheront que sur le linux qu'ils ont éventuellement
installé chez eux ... )


--
Burelle Marwan,
Equipe Bases de Donnees - LRI
http://www.cduce.org
( | )

Avatar
Francis Gudin
On 2006-01-25, Marwan Burelle wrote:
Hum ...

[ 11:10 ~]> seq 5
zsh: correct 'seq' to 'gseq' [nyae]? n
zsh: command not found: seq
[ 11:10 ~]> gseq 5
1
2
3
4
5

C'est un truc gnu qui n'est pas dispo en standard, visiblement ...


Salut,
chez moi, il est bien là:
which seq
/usr/bin/seq


et il sort bien de la base:
ll /mnt/src-in/.hg/data/usr.bin/seq/
total 16
-rw-r--r-- 1 doudou doudou 143 Jan 24 21:57 Makefile.d
-rw-r--r-- 1 doudou doudou 76 Jan 24 21:57 Makefile.i
-rw-r--r-- 1 doudou doudou 2238 Jan 24 21:57 seq.1.d
-rw-r--r-- 1 doudou doudou 228 Jan 24 21:57 seq.1.i
-rw-r--r-- 1 doudou doudou 3891 Jan 24 21:57 seq.c.d
-rw-r--r-- 1 doudou doudou 76 Jan 24 21:57 seq.c.i

Strangifiant...

Francis.

Avatar
TeXitoi
Marwan Burelle writes:

[à propos de la commande seq]

C'est un truc gnu qui n'est pas dispo en standard, visiblement ...


En effet, je pensais que c'etait standard, mais a priori, non.

Ce qui n'est pas le cas de jot(1) (qui soit dit en passant fait plus
de chose : random, printf(3) like substitutions ... ) qui fait partie
de la base. Mais bon, par contre, je ne sais pas si jot est dispo pour
d'autre OS (genre sous nunux et effectivement pas de jot sur la debian
que je viens de regarder ... )


jot existe sous debian, mais pas en standard :

:~$ apt-file search bin/jot
athena-jot: usr/bin/jot

Reste la construction avec un for, mais si ce n'est pas dans tous les
shells (bash _n'est pas_ un shell standard, c'est aussi un ajout gnu,
ksh c'est déjà mieux mais il n'est pas forcément dispo partout.)


M'enfin, il doit bien exister une manière standard pour faire ce genre
de chose, non?

--
Guillaume Pinot http://wwwetu.utc.fr/~pinotgui/

« On ne voit bien qu'avec le coeur ; l'essentiel est invisible pour les
yeux. » -- Saint Exupéry

() Campagne du ruban ascii -- contre les mails en html
/ Contre les pièces jointes Microsoft

Avatar
Marwan Burelle
patpro ~ Patrick Proniewski wrote:
$ ls -1 /proc | wc -l
128
$ ps aux | wc -l
206

ça m'embête un chouilla quand meme... J'ai l'impression que mon procfs a
une limite à la con façon puissance de 2.
Je n'ai rien trouvé dans les sysctl, ni dans ce qui touche au kernel qui
puisse justifier une telle limite.


Oui, surtout que ça ne le fait pas partout :

[ 11:38 ~]> ls -1 /proc | wc -l
130
[ 11:38 ~]> ps aux | wc -l
130

(et j'ai vérifié, ça marche si on augmente le nombre de process aussi
... )

Je n'ai pas d'option particulière mais ton problème ne serait pas lié
à une histoire d'hyperthreading ou autre ?

--
Burelle Marwan,
Equipe Bases de Donnees - LRI
http://www.cduce.org
( | )

Avatar
patpro ~ Patrick Proniewski
In article ,
Marwan Burelle wrote:

Je n'ai pas d'option particulière mais ton problème ne serait pas lié
à une histoire d'hyperthreading ou autre ?


je commence à envisager ça sérieusement.
Comme ça n'a rien de vraiment urgent, j'essayerai avec HTT disabled au
prochain reboot.


patpro

Avatar
talon
patpro ~ Patrick Proniewski wrote:
In article ,
Marwan Burelle wrote:

Je n'ai pas d'option particulière mais ton problème ne serait pas lié
à une histoire d'hyperthreading ou autre ?


je commence à envisager ça sérieusement.
Comme ça n'a rien de vraiment urgent, j'essayerai avec HTT disabled au
prochain reboot.


Ma machine a le HTT et n'a pas ce problème.



patpro


--

Michel TALON


Avatar
Eric Jacoboni
Marwan Burelle writes:

Reste la construction avec un for, mais si ce n'est pas dans tous les
shells (bash _n'est pas_ un shell standard, c'est aussi un ajout gnu,
ksh c'est déjà mieux mais il n'est pas forcément dispo partout.)


Moi je veux bien, mais cite-moi un système où l'on ne pourrait pas
installer bash ou zsh ou ksh ? C'est sûr que si tu veux rester avec le
sh de base, ça va pas le faire.

j'ai fait cours dans des
salles de TP où aucun outils gnu n'étaient dispo parce que l'admin
n'en voyait pas l'intéret, toute ce dont il avait besoin Solaris le
fournissait


Donc, il y avait ksh, non ?

La construction for ((...)) n'a absolument rien à voir avec GNU,
hein. Et si elle n'y est pas, il n'y aura pas non plus jot ou autres
seq... donc à moins de leur apprendre le Bourne Shell de 70, il te
reste peu d'alternatives parce que je suppose qu'en ce cas, ce shell
ne sera même pas POSIX (ah si, il y en a une : si on ne me donne pas
les moyens de bosser, moi, je ne bosse pas).
--
Eric Jacoboni, ne il y a 1441636739 secondes

Avatar
patpro ~ Patrick Proniewski
In article <dr7uc6$1mbr$,
(Michel Talon) wrote:

patpro ~ Patrick Proniewski wrote:
In article ,
Marwan Burelle wrote:

Je n'ai pas d'option particulière mais ton problème ne serait pas lié
à une histoire d'hyperthreading ou autre ?


je commence à envisager ça sérieusement.
Comme ça n'a rien de vraiment urgent, j'essayerai avec HTT disabled au
prochain reboot.


Ma machine a le HTT et n'a pas ce problème.



ok, merci du renseignement.
Rien d'anormal détecté dans ma conf de kernel ?

# egrep -v ^# /usr/src/sys/i386/conf/PATPRO-20050829

machine i386
cpu I686_CPU
ident PATPRO-20050829

options SCHED_4BSD
options INET
options FFS
options SOFTUPDATES
options UFS_ACL
options UFS_DIRHASH
options MD_ROOT
options NFSCLIENT
options NFSSERVER
options NFS_ROOT
options MSDOSFS
options CD9660
options PROCFS
options PSEUDOFS
options GEOM_GPT
options COMPAT_43
options COMPAT_FREEBSD4
options SCSI_DELAY000
options KTRACE
options SYSVSHM
options SYSVMSG
options SYSVSEM
options _KPOSIX_PRIORITY_SCHEDULING
options KBD_INSTALL_CDEV
options AHC_REG_PRETTY_PRINT
options AHD_REG_PRETTY_PRINT
options ADAPTIVE_GIANT
options ALTQ
options ALTQ_CBQ
options ALTQ_RED
options ALTQ_RIO
options ALTQ_HFSC
options ALTQ_PRIQ
options ALTQ_NOPCC
options SMP
options MPTABLE_FORCE_HTT

device apic
device isa
device eisa
device pci
device fdc
device ata
device atadisk
device ataraid
device atapicd
device atapifd
device atapist
options ATA_STATIC_ID
device atkbdc
device atkbd
device psm
device vga
device splash
device sc
device agp
device npx
device pmtimer
device sio
device ppc
device ppbus
device ppi
device em
device miibus
device fxp
device ex
device loop
device mem
device io
device random
device ether
device tun
device pty
device md
device bpf
device uhci
device ohci
device ehci
device usb
device ugen
device uhid
device ukbd


patpro



Avatar
Erwan David
Eric Jacoboni écrivait :

La construction for ((...)) n'a absolument rien à voir avec GNU,
hein. Et si elle n'y est pas, il n'y aura pas non plus jot ou autres
seq... donc à moins de leur apprendre le Bourne Shell de 70, il te
reste peu d'alternatives parce que je suppose qu'en ce cas, ce shell
ne sera même pas POSIX (ah si, il y en a une : si on ne me donne pas
les moyens de bosser, moi, je ne bosse pas).


Bah en 92 j'ai bien fait des TP de shell avec un sh sans fonctions
(Ultrix pour ceux qui ont quelques souvenirs...)

--
Si vous embauchez, voici mon CV
http://www.rail.eu.org/cv/cv.pdf

1 2 3 4