IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

PHP: Trouver si un screen est exécuté


Sujet :

Linux

  1. #1
    Nouveau membre du Club Avatar de xlkiller
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Août 2007
    Messages : 41
    Points : 35
    Points
    35
    Par défaut PHP: Trouver si un screen est exécuté
    Bonjour,

    Je recherche une fonction en PHP/SSH qui me permettrais de savoir si un screen est bien en cours d'éxécution.

    Cela est-il possible ?

  2. #2
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 732
    Points : 31 056
    Points
    31 056
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par xlkiller Voir le message
    Bonjour,

    Je recherche une fonction en PHP/SSH qui me permettrais de savoir si un screen est bien en cours d'éxécution.

    Cela est-il possible ?
    C'est quoi un "screen" ? Un économiseur d'écran ???

  3. #3
    Nouveau membre du Club Avatar de xlkiller
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Août 2007
    Messages : 41
    Points : 35
    Points
    35
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    C'est quoi un "screen" ? Un économiseur d'écran ???
    http://www.linux-nantes.org/Screen-qu-est-ce-donc.html

  4. #4
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 732
    Points : 31 056
    Points
    31 056
    Billets dans le blog
    1
    Par défaut
    Ok. J'ai pas encore testé mais ça va pas tarder.

    Donc tu cherches une fonction php pour t'indiquer si un truc est actif. Le problème, c'est que le php n'est pas exécuté par le client mais par le serveur Apache lui-même situé sur un host distant. Ainsi, si tu tapes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf("<H1 align='center'>%s</h1>", system("uname -a"));
    dans une page html/php, tu verras apparaitre le nom de ton serveur lorsque tu chargeras ladite page depuis ton navigateur (et non pas le nom de ta machine)

    Donc déjà, aucune fonction php ne pourra informer le client de ce qu'il y a sur sa machine.

    Peut-être veux-tu savoir si screen est en activité sur le serveur. Ben là, je connais pas tout ce qui existe dans php mais franchement ça m'étonnerait qu'il y ait un truc fait juste pour ça. Et donc ben tu peux en passer par une méthode traditionnelle qui ressemblera à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $fp=popen("ps -edf |grep -c screen");
    if (read($fp, $data, 1024) > 0)
    {
        // Screen actif
    }
    else
    {
         // Screen inactif
    }
    close($fp);

  5. #5
    Nouveau membre du Club Avatar de xlkiller
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Août 2007
    Messages : 41
    Points : 35
    Points
    35
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Peut-être veux-tu savoir si screen est en activité sur le serveur. Ben là, je connais pas tout ce qui existe dans php mais franchement ça m'étonnerait qu'il y ait un truc fait juste pour ça. Et donc ben tu peux en passer par une méthode traditionnelle qui ressemblera à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $fp=popen("ps -edf |grep -c screen");
    if (read($fp, $data, 1024) > 0)
    {
        // Screen actif
    }
    else
    {
         // Screen inactif
    }
    close($fp);
    Merci de ton aide, je pense que c'est la solution qu'il me faut par contre j'ai essayé et en mettant même un processus inexistant j'ai toujours une réponse supérieur à 1.

  6. #6
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 732
    Points : 31 056
    Points
    31 056
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par xlkiller Voir le message
    Merci de ton aide, je pense que c'est la solution qu'il me faut par contre j'ai essayé et en mettant même un processus inexistant j'ai toujours une réponse supérieur à 1.
    C'est parce que j'ai tapé ça vite fait sans trop réfléchir.
    En fait, le grep -c renvoie le nb de fois qu'il trouve l'info. Et s'il ne la trouve pas, il renvoie 0.
    Or mon if ne teste pas ce qui est lu mais simplement si qqchose a été lu. Et "0" c'est déjà qqchose !!!

    Ceci devrait mieux marcher (mais là encore je tape sans tester donc je te laisse le soin de comprendre l'idée et débugguer s'il faut)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $fp=popen("ps -edf |grep -c screen");
    $data="";
    read($fp, $data, 1024);
    if ($data != "0")
    {
        // Screen actif
    }
    else
    {
         // Screen inactif
    }
    close($fp);

  7. #7
    Nouveau membre du Club Avatar de xlkiller
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Août 2007
    Messages : 41
    Points : 35
    Points
    35
    Par défaut
    J'ai toujours le chiffre 1 au minimum.

    Exemple: si je met ps -edf |grep -c azerty ca me retourne 1 alors que le processus azerty n'existe pas...

  8. #8
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 732
    Points : 31 056
    Points
    31 056
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par xlkiller Voir le message
    J'ai toujours le chiffre 1 au minimum.

    Exemple: si je met ps -edf |grep -c azerty ca me retourne 1 alors que le processus azerty n'existe pas...
    EVIDEMMENT !!!
    Tape "ps -edf |grep azerty" et tu verras ressortir la ligne... "grep azerty". En effet, la chaine "azerty" se trouve dans la commande "grep azerty" et est donc renvoyée.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ps -edf |grep -v grep |grep -c screen
    PS: j'ai testé screen. Mais bon, en environnement graphique ça me convainc pas. Suffit de taper MAJ-Ctrl-T pour ouvrir une seconde fenêtre de travail alors aller m'embêter avec une simulation de multi-fenêtres alors que je peux avoir de vraies fenêtres indépendantes...

    Eventuellement en environnement texte ça peut se faire si les 6 terminaux de base ne suffisent pas...

  9. #9
    Nouveau membre du Club Avatar de xlkiller
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Août 2007
    Messages : 41
    Points : 35
    Points
    35
    Par défaut
    Je te remerci beaucoup, j'ai réussi a faire ce que je voulais

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    290
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 290
    Points : 426
    Points
    426
    Par défaut
    PS: j'ai testé screen. Mais bon, en environnement graphique ça me convainc pas. Suffit de taper MAJ-Ctrl-T pour ouvrir une seconde fenêtre de travail alors aller m'embêter avec une simulation de multi-fenêtres alors que je peux avoir de vraies fenêtres indépendantes...

    Eventuellement en environnement texte ça peut se faire si les 6 terminaux de base ne suffisent pas...
    L'intéret de screen, c'est plutôt quand tu te connectes à distance. Ca te permet de fermer ta session, et de la récupérer sur un autre poste.

    Tu peux aussi récupérer une sessions screen de qqn d'autre (comme un vnc mais en mode texte).

  11. #11
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 732
    Points : 31 056
    Points
    31 056
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Drawingrom Voir le message
    L'intéret de screen, c'est plutôt quand tu te connectes à distance. Ca te permet de fermer ta session, et de la récupérer sur un autre poste.

    Tu peux aussi récupérer une sessions screen de qqn d'autre (comme un vnc mais en mode texte).
    Ah oui, effectivement là ça devient de suite plus convainquant

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/07/2006, 18h53
  2. La fonction à la fermeture d'un fichier est exécutée 2 fois...
    Par Pierre Fauconnier dans le forum Access
    Réponses: 4
    Dernier message: 27/04/2006, 14h14
  3. Trouver en quelle langue est écrit un texte
    Par Lorponos dans le forum Autres Logiciels
    Réponses: 12
    Dernier message: 27/04/2006, 12h33
  4. Trouver ou un fichier est lancé
    Par schnourf dans le forum Shell et commandes GNU
    Réponses: 11
    Dernier message: 21/10/2005, 14h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo