mboost-dp1

strace Easter egg


Gå til bund
Gravatar #1 - kasperd
15. nov. 2011 08:51
Jeg fik lyst til at nævne et Easter egg, der findes i strace kommandoen. Lav et shellscript med følgende indhold og se den første linie af outputet.
#!/bin/sh
exec strace -p $$
Gravatar #2 - fjols
15. nov. 2011 08:57
For de dovne:

strace skrev:
mikael@testbox1:~$ ./test.sh
strace: I'm sorry, I can't let you do that, Dave.
usage: strace [-dffhiqrtttTvVxx] [-a column] [-e expr] ... [-o file]
[-p pid] ... [-s strsize] [-u username] [-E var=val] ...
[command [arg ...]]


Hvordan finder man sådan noget? :)
Gravatar #3 - kasperd
15. nov. 2011 09:06
fjols (2) skrev:
Hvordan finder man sådan noget?
Fordi man var nysgerrig efter hvad der ville ske hvis man kørte strace med lige netop det argument.

Næste skridt var at afprøve:
#!/bin/sh
exec strace strace -p $$
Den gav dog blot en deadlock og krævede et signal 9 for at blive stoppet.

Man kan også prøve at køre hvert af de to scripts under strace. På første script skal man lægge mærke til getpid og execve kald for at se hvordan det easter egg virker.

På det andet script med to strace kommandoer kan en strace af scriptet ikke afsløre hvorfor der kommer en deadlock. Køres andet script under strace kommer der nemlig ingen deadlock.
Gravatar #4 - fjols
15. nov. 2011 09:10
Haha, når det er dig, så undrer det mig ikke. Havde det været hvem som helst anden, så havde jeg troet de havde fundet det på nettet.
Gravatar #5 - kasperd
15. nov. 2011 09:17
fjols (4) skrev:
Havde det været hvem som helst anden, så havde jeg troet de havde fundet det på nettet.
Efter jeg havde fundet det prøvede jeg at søge efter det på nettet. Jeg fandt en tråd fra 2005 hvor det blev nævnt. I den tråd blev det dog foreslået at man gættede sig frem til pid. Der var ikke nogen der indså at man kunne gøre det med exec og $$.

Nu får jeg lyst til at fjerne det easter egg for at se hvad der sker hvis ikke strace forhindrer mig i at trace den selv.
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login