Valse vrienden kunnen tot heel wat spraakverwarring leiden als je in een andere taal spreekt en een woord denkt te verstaan. Zo betekent het Duitse "bellen" niet "bellen" maar "blaffen", en "komisch" betekent "merkwaardig". Soms kan zo'n spraakverwarring wel komisch zijn. Valse vrienden komen echter ook voor bij computersystemen, en dan zijn de gevolgen soms minder komisch.

Dramatisch voorbeeld

Op het eerste gezicht lijken alle Unix-achtige besturingssystemen op elkaar. Als je al jaren ervaring hebt met Linux en de opdracht krijgt om een Solaris- of FreeBSD-machine te beheren, dan ken je bijvoorbeeld al heel wat commando's en hoef je maar een klein aantal specifieke commando’s bij te leren. Maar schijn bedriegt. Basiscommando's zoals ps hebben bijvoorbeeld in Solaris duidelijke andere opties dan de GNU-versies die je in Linux vindt.

Het gaat verder dan dat: er zijn zelfs commando's die op één besturingssysteem iets volledig anders doen dan in een ander, echte valse vrienden dus. Een dramatisch voorbeeld hiervan is killall, waarmee je onder Linux alle processen met een specifieke naam afbreekt. Doe je hetzelfde op Solaris of HP-UX als root, dan breek je hiermee alle actieve processen af... Killall wordt op deze systemen immers normaal opgeroepen door het shutdown-commando om alle processen met open bestanden af te breken zodat de bestandssystemen ontkoppeld kunnen worden. Je kunt dan beter beter pkill gebruiken, dat in Solaris 7 geïntroduceerd is maar in vele Linux-distributies aanwezig is en ook voor de BSD's bestaat.

Terug naar man

Modernere versies van killall op OpenSolaris controleren gelukkig wel of de parameter die je eraan doorgeeft een geldig signaal is, en voeren hun destructieve taak dus niet uit indien je een procesnaam doorgeeft. De manpagina van killall op Linux is bovendien zo vriendelijk om de waarschuwing te geven dat het commando intypen op niet-Linux systemen een "niet-gewenst effect" kan hebben.

Moraal van dit verhaal: ga er niet van uit dat alle commando's die je op één Unix-achtige kent, hetzelfde betekenen op andere Unix-achtigen. Voor je het weet sleur je een volledige productiemachine mee, omdat je één programma wilde afbreken. Als je voor het eerst een voor jou niet bekend Unix-systeem beheert, duik dan opnieuw in de manpagina's.

Bron: Techworld