Accueil » Divers » Page 8
Voici une petite commande pour débugger un serveur Apache. Elle fait un strace sur tous les processus Apache qui tournent sur la machine. Vous pourrez facilement identifier les nœuds d’étranglement avant une mise en production, ou détecter une procédure qui bloque.
Pour une distribution RPM :
ps awux | grep sbin/httpd | awk '{print"-p " $2}' | xargs strace -f
Pour une distribution Debian, (« apache » au lieu de « httpd »):
ps awux | grep sbin/apache | awk '{print"-p " $2}' | xargs strace -f
Un petit script pour tuer un processus qui dure trop longtemps (ici php):
#!/bin/bash
/bin/ps -eo pid,etime,command|/bin/grep /usr/local/zend/bin/php|/bin/egrep '([0-9]+)([ ]+)([2-9]{1}[0-9]{1}:[0-9]{2})'|/bin/awk '{print $1}'|xargs -I{} kill {}
Tous d’abord il faut récupérer son PID, pour le test j’ai lancé une vidéo avec vlc.
Pour cela on fait un petit ps:
ps -ef | grep -i vlc | grep -v grep
starmate 1656 20540 52 22:07 ? 00:00:03 /usr/bin/vlc --started-from-file /...
On voit que le PID est 1656.
Donc maintenant pour figer le processus, on utilise le paramètre -STOP:
kill -STOP 1656
Pour le reprendre, on utilisera le paramètre –CONT:
kill -CONT 1656
Lorsque vous vous apprêtez à lancer une opération un peu longue, comme une grosse copie de fichiers par exemple, vous n’avez peut-être pas envie de patienter sagement le temps que la commande s’exécute pour pouvoir faire autre chose en attendant.
Il existe un certain nombre de techniques plus ou moins sophistiquées qui permettent de lancer une commande en tâche de fond.
Nohup est une commande qui permet de lancer un processus qui restera actif même après la déconnexion de l’utilisateur.
Cette dernière peut s’avérer très utile si on la combine au « & » qui permet de lancer un processus en arrière plan.
Pour lancer une copie d’un gros fichier en arrière plan:
nohup cp film.mkv copie_film.mkv &
Cette commande va créer un fichier de log nommé nohup.out, permettant de consulter les messages qui auraient dû s’afficher sur la console.
Voici comment créer un raccourci sur votre Bureau ou dans la barre de lancement d’Unity:
Installation de Gnome-panel, le dispositif de lancement et/ou d’ancrage d’applications pour Gnome:
sudo apt-get install gnome-panel
Il ne vous reste plus qu’à lancer cette commande pour accéder à la fenêtre de création du lanceur:
gnome-desktop-item-edit --create-new ~/Bureau

Faisant apparaître cette fenêtre.
On remplie la fenêtre de cette façon:
- Icône de l’application : Par défaut a une forme de ressort. En cliquant dessus vous pourrez parcourir ou saisir le chemin vers une icône personnalisée.
-
Type : Détermine le type
-
Nom : Nom que vous voulez donnez à votre lanceur,
-
Commande : la commande à renseigner pour appeler l’application dont vous cherchez à créer le lanceur.
-
Commentaire : Commentaire ou description du programme qui apparaîtra lorsque vous laisserez votre curseur au-dessus de l’icône du lanceur,
Si cela ne fonctionne pas, notamment si vous pointez vers un élément placé dans votre /home, indiquez le chemin complet (/home/starmate) vers celui-ci plutôt qu’utiliser le tilde (~) ou la variable $HOME dans le champ Commande.
Voila, pour Unity, il ne vous reste plus qu’à glisser le nouveau lanceur dans la barre de lanceurs.
Bonus
Pour obtenir le chemin complet d’une commande (ici Firefox):
which firefox
Pour trouver la commande (sans arguments) qui a permis de lancer une fenêtre donnée:
xprop WM_CLASS
puis avec le curseur de la souris, cliquez sur la fenêtre qui vous intéresse et le résultat apparaîtra dans le terminal.