.. _ex_copsa-ctrl: copsa-ctrlc =========== Programa que emet el missatge :code:`"Ei! No facis això!!! "` cada cop que l'usuari prem simultàniament les tecles :code:`` i :code:`C`. #. Guió executable de python :download:`copsa-ctrlc <./copsa-ctrlc>` .. literalinclude:: copsa-ctrlc :language: python3 #. Mòdul de python :download:`copsa-ctrlc.py <./copsa-ctrlc.py>` .. literalinclude:: copsa-ctrlc.py :language: python3 #. Fitxer C :download:`copsa-ctrlc.c <./copsa-ctrlc.c>` .. literalinclude:: copsa-ctrlc.c :language: C Un cop descarregats, estudieu que fa i com ho fa cada fitxer. Pel cas del python, en *bash*, feu: .. code:: bash $ chmod +x copsa-ctrlc $ export PATH=$PATH":." $ copsa-ctrlc Us anirà sortint el missatge :code:`"Ei! No facis això!!! "` cada cop que premeu simultàniament les tecles :code:`` i :code:`C`. Trobareu els mateixos resultats des de l'intèrpret: .. code:: bash $ python3 >>> from copsa-ctrlc import copsa-ctrlc >>> copsa-ctrlc() El programa en C, primer cal compilar-lo (primera línia amb el resultat d'un nou fitxer objecte copsa-ctrlc.o), després muntar-lo (segona línia creant l'executable en codi màquina ecu [#]_) .. code:: bash $ gcc -c copsa-ctrlc.c $ gcc -o ctrlc copsa-ctrlc.o $ ctrlc .. rubric:: Observacions Un cop activat el programa no es pot aturar prement les tecles :code:`` i :code:`C`. Per fer-ho aneu a un altre terminal, identifique el procés a aturar (amb les comandes :code:`ps aux` i :code:`grep` *nom executable* ) i destruiu el procés mitjançant la comanda :code:`kill -9`. .. rubric:: Footnotes .. [#] Hem canviat el nom per no esborrar el fitxer de text executable :file:`copsa-ctrlc` de python.