SELECT
tablespace_name FROM dba_tablespaces;
vendredi 28 janvier 2011
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);
}
}
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
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
TIOBE vient de publier son classement sur les langages de programmation.
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.
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.
mardi 18 janvier 2011
Cartons pour déménagement
Connaitre la date de dernière mise à jour d'une table (insert/delete/update)
Sur Oracle 10g :
select scn_to_timestamp(max(ora_rowscn)) from <YOUR_TABLE>;
mardi 11 janvier 2011
ORA-28000: The Account is locked
Comment unlocker ? ;o)
Ben tout simplement, via un compte admin Oracle :
SQL> alter user scott identified by tiger account unlock;
Crontab, howto
Syntaxe générale :
* * * * * command to be executed
- - - - -
| | | | |
| | | | +----- day of week (0 - 6) (Sunday=0)
| | | +------- month (1 - 12)
| | +--------- day of month (1 - 31)
| +----------- hour (0 - 23)
+------------- min (0 - 59)
Générer un fichier de log :
* * * * * rm toto.txt > /var/log/cron_mv.log
Désactiver l'envoi de mail :
Par défaut, un email est envoyé au user lancant le cronjob. Pour ne pas envoyer de mail :
* * * * * rm toto.txt >/dev/null 2>&1
Variables d'environnement par défaut:
Par défaut, crontab initialise 4 variables d'environnement :
HOME=le repertoire home de l'utilisateur
LOGNAME=id de l'utilisateur
PATH=/usr/bin:/usr/sbin:.
SHELL=/usr/bin/sh
Variables d'environnement personnalisés:
Deux méthodes
-soit les initialiser dans le script appelé par crontab :
crontab:
* * * * * myscript.sh
myscript.sh:
#!/bin/bash
MYVAR=PROD
LANG=en_US.UTF-8
export MYVAR
export LANG
...
-soit les initialiser dans crontab :
crontab:
MYVAR=PROD
LANG=en_US.UTF-8
* * * * * myscript.sh
Attention, la valeur de la variable n'est jamais interpretée. Ainsi, PATH = $HOME/bin:$PATH ne fonctionnera pas comme on s'y attendrait.
* * * * * command to be executed
- - - - -
| | | | |
| | | | +----- day of week (0 - 6) (Sunday=0)
| | | +------- month (1 - 12)
| | +--------- day of month (1 - 31)
| +----------- hour (0 - 23)
+------------- min (0 - 59)
Générer un fichier de log :
* * * * * rm toto.txt > /var/log/cron_mv.log
Désactiver l'envoi de mail :
Par défaut, un email est envoyé au user lancant le cronjob. Pour ne pas envoyer de mail :
* * * * * rm toto.txt >/dev/null 2>&1
Variables d'environnement par défaut:
Par défaut, crontab initialise 4 variables d'environnement :
HOME=le repertoire home de l'utilisateur
LOGNAME=id de l'utilisateur
PATH=/usr/bin:/usr/sbin:.
SHELL=/usr/bin/sh
Variables d'environnement personnalisés:
Deux méthodes
-soit les initialiser dans le script appelé par crontab :
crontab:
* * * * * myscript.sh
myscript.sh:
#!/bin/bash
MYVAR=PROD
LANG=en_US.UTF-8
export MYVAR
export LANG
...
-soit les initialiser dans crontab :
crontab:
MYVAR=PROD
LANG=en_US.UTF-8
* * * * * myscript.sh
Attention, la valeur de la variable n'est jamais interpretée. Ainsi, PATH = $HOME/bin:$PATH ne fonctionnera pas comme on s'y attendrait.
Inscription à :
Articles (Atom)
Categories
- /etc/hosts (1)
- 443 (1)
- 80 (1)
- a2dp (1)
- addsubview (1)
- affix (1)
- amazon (1)
- android (6)
- angularjs (1)
- angularjs cross domain json post (1)
- angularjs ionic ng-click twice (1)
- animate (1)
- ansible (2)
- antlr (1)
- apache2 processes (1)
- app (1)
- app store (1)
- apple (1)
- appstore (1)
- avis (2)
- baignoire (1)
- basics (1)
- bitbucket (1)
- blackberry (1)
- bluetooth (1)
- booster (1)
- bootstrap (3)
- bottle (4)
- browsers (1)
- buffer (1)
- cherrypy (3)
- chromebook real life (1)
- coder (2)
- communicator (1)
- config.txt (1)
- creme chocolat (1)
- crepes bretonnes (1)
- crlf (1)
- css (2)
- cuisine (1)
- database (4)
- datatables (1)
- datetime (1)
- delete (1)
- disconnect (1)
- distributing (1)
- english (2)
- flask (1)
- fontawesome (1)
- francais (51)
- futuristic (1)
- game (1)
- gil (1)
- git (9)
- github (1)
- gratuit (2)
- hadopi (1)
- header (1)
- height zero (1)
- hibernate (1)
- hotel (2)
- http (1)
- https (2)
- ionic (2)
- ios (2)
- ios7 (1)
- iOS8 (1)
- iphone (1)
- jaune (1)
- java (7)
- javamelody (1)
- javascript (1)
- json (3)
- kindle (1)
- knockout (3)
- leaflet (1)
- legere (1)
- lf (1)
- life cycle (1)
- linkedin resume builder profile (1)
- linux (9)
- log (1)
- luxembourg (1)
- machine (1)
- maizena (1)
- minecraft (1)
- mobile (1)
- mongo (1)
- mongodb (3)
- mongodb mongo linux (1)
- multiple (1)
- myspace (1)
- mysql (1)
- netbeans cordova android cordova-plugin-file (1)
- nginx (2)
- nintendo (1)
- number (1)
- opensolaris (1)
- openstreetmap (1)
- oracle (15)
- order by (1)
- output (1)
- overclocking (1)
- packaging (1)
- parameters (1)
- personnaliser bootstrap (1)
- photos (1)
- pip (2)
- pipewire (1)
- prime (1)
- problem (2)
- project (1)
- publish (1)
- python (26)
- raspberry pi (2)
- raspi-config (1)
- recette (1)
- redirect (1)
- restful (2)
- schema (1)
- screen (1)
- screencast (1)
- script (1)
- scrollspy (1)
- serialization (1)
- sessions (2)
- shell (1)
- shutdown reboot linux reinstall apt-get (1)
- smartgwt (1)
- sncf (1)
- software (1)
- spring (1)
- sql (1)
- sticky footer (1)
- supervisor (1)
- systeme (1)
- tile (1)
- timestamp (1)
- title (1)
- tornado (3)
- turbo (1)
- ubuntu (2)
- uialertview (1)
- video capture (1)
- viewdidappear (1)
- viewdidload (1)
- viewwillappear (1)
- weasyprint (1)
- web (1)
- web2py (1)
- windows (5)
- worker (1)
- xbox wireless headset (1)
- xdk barcode scanner intel.xdk.device.barcode.scan (1)
- XDK rename project (1)
- xeno galaxies (1)