mercredi 26 janvier 2011

Linux, process defunct

En faisant ce matin un ps aux | grep java sur un serveur, je me suis retrouvé avec ca :
507       9659  0.2  0.0      0     0 pts/7    Z    09:09   0:04 [java] <defunct>

Et lorsque je tapais kill -9 9659 ca ne donnait rien.

Il faut en fait tuer les parents de ce process :
ps -ef | grep defunct | awk '{print "kill -9 ", $3}'


Arrêter proprement un script Java

Ci-dessous un programme qui appelle en boucle la méthode processSomething(...) avec un sleep de 5 secondes.

Il faut donc traiter les user interrupts dans deux cas : 
  • le cas où l'interruption se fait lors de l'exécution d'un processSomething(...) 
  • et le cas où l'interruption se fait lors du sleep de 5 secondes.

public class StopSample{
    public static boolean running = true;

    public static void main(String [] args){
        new StopSample().processMain();
    }
    public void processMain() {
        // si on interrompt durant le processSomething(...) plus bas (cas 1) :
        Runtime.getRuntime().addShutdownHook(new Thread() {
            public void run() {
                StopSample.running = false;
                logger.info("Arret du programme suite à un user interrupt");
            }
        });
        try {
            for (; running;) {
                processSomething(...);
                Thread.sleep(5000);
            }
        } catch (InterruptedException e) {
            // si on interrompt durant le Thread.sleep (cas 2) :
            logger.info("Arret du programme suite à un user interrupt");
            System.exit(0);
        }
}

Lien : http://www.roseindia.net/javatutorials/hooking%20_into_the_shutdown_call.shtml

mardi 25 janvier 2011

Définir une variable d'environnement sous Linux

  • Pour rajouter une variable, le temps de la session linux courante:

          - sous bash/sh :
export PATH=$PATH:/path1/toto:/path1/titi

          - sous tcsh/csh :
set PATH=($PATH /path1/toto /path1/titi)


  • Pour rajouter une variable qui soit visible à chaque login:

          - sous bash/sh :
echo 'export PATH=$PATH:/path1/toto:/path2/titi' >> ~/.bashrc

          - sous tcsh/csh :
echo 'set PATH=($PATH /path1/toto /path2/titi)' >> ~/.cshrc


lundi 24 janvier 2011

Rechercher une boite aux lettres

Le site de LaPoste propose un moteur de recherche permettant de trouver les boîtes aux lettres les plus proches d'une adresse donnée.




jeudi 20 janvier 2011

"Facebook n'existait pas il y a un an" (Valérie Pecresse sur France 2)

Dans l'émission "Face aux Francais" sur France 2, elle a declaré hier :

L’économie numérique connait des révolutions tous les jours, quand on voit qu'aujourd'hui Facebook détrône Google, Facebook qui n'existait pas il y a un an

No comment...

Python élu langage de l'année 2010


Le langage qui a obtenu la plus forte progression est Python, avec +1.81% (passant du 7eme rang au 5eme).

Professionnalisme controleurs SNCF

J attendais que l occasion se présente pour publier ce post. Au moment où je l ecris, je suis dans le TER qui est parti de Melun à 9h15, en direction de Paris.

Il y a en face de moi 6 controleurs (qui n ont controlé que mon wagon) et qui cause depuis au moins une quinzaine de minutes des congés à la SNCF.

Ca ne donne pas du tout une image pro...

mercredi 19 janvier 2011

Silicon Valley vs Europe

Quand on créé une entreprise, il faut penser "globalement" et ne surtout pas penser "localement" si l'on souhaite vraiment que ca marche.

L'immense majorité des gens de la Silicon Valley pense de cette facon et c'est pour ca qu'ils reussissent plus facilement.

Par ailleurs, c'est dans la Silicon Valley que se trouve l'argent.


Voici un post de Loic Le Meur fort interessant.

Jurisprudence délit de marchandage

Trouvé sur Wikipedia :



La jurisprudence établit qu'il y a délit de marchandage notamment dans les cas suivants :

    * le personnel sous-traité travaille pour un seul client depuis plusieurs années ;
    * le personnel sous-traité reçoit ses instructions de l'encadrement du client ; le client contrôle lui-même le suivi, définit les tâches et les lieux d'exécution ;
    * le personnel exécute la totalité de sa mission dans les locaux du client, et est soumis à des horaires identiques à ceux du personnel du client ;
    * le client fournit les matériaux, les pièces de rechange, met à disposition son outillage, ses véhicules, des locaux lui appartenant, ses documents, etc.
    * la rémunération du sous-traitant est calculée au temps passé par son personnel.

Categories