J'ai un simple fichier script Ruby:strace un script tralala
#!/usr/bin/env ruby
puts "Hello World"
Quand je lance ce en utilisant strace:
$ strace -s 100 -f ./script2
-je obtenir la séquence suivante de execve
succès appels:
execve("./script2", ["./script2"], [/* 85 vars */]) = 0
execve("/home/omar/.rvm/rubies/ruby-2.3.1/bin/ruby", ["ruby", "./script2"], [/* 85 vars */]) = 0
je m'attendais à être présent, mais la sortie n'a aucune ligne qui exécute le /usr/bin/env
commande. Pourquoi cela est-il ainsi? La commande env
est-elle invoquée par l'appel système execve
en interne? Je veux connaître la séquence d'événements qui se termine par le binaire interpréteur ruby
en cours d'exécution.
C'est ce que je cherchais, merci. –