Bonjour à toutes et à tous,
Je veux lancer la commande suivante sur mon petit linux.
# nohup python3.6 script.py
Le soucis c'est que le script demande au lancement le nombre d'occurrences (nombre de fois qu'il doit s’exécuter)
Hors avec la commande nohup il ne me pose pas la question….
Auriez vous une idée ?
Merci pour votre aide !
Saïd
# Modifier le script ...
Posté par totof2000 . Évalué à 5.
… pour lui paser le nombre de fois qu'il doit s'exécter en paramètre.
[^] # Re: Modifier le script ...
Posté par NeoX . Évalué à 2.
en plus si ca se trouve le script.py prevoit deja ce cas là
# man nohup
Posté par MicP . Évalué à 0.
La demande sera (peut-être, en fonction du script) redirigée vers le fichier
nohup.out
# En cherchant un peu ....
Posté par totof2000 . Évalué à 3.
j'ai trouvé le module pexpect qui pourrait t'aider. Il te suffira d'écrire un script python qui appelle ton script en simulant une entrée sur le terminal.
Voir la doc pour plus d'infos (je n'ai jamais utilisé ce module). Sinon dans l'absolu, il ne faut jamais écrire un script qui demande des valeurs en interactif sans lui laisser la possiblilité de prendre les valeurs d'une autre façon (fichier de conf, paramètres en ligne de commande).
# tmux
Posté par GG (site web personnel) . Évalué à 3.
Tu ouvres un tmux (il faut installer tmux)
Là, tu vas pouvoir lancer ta commande.
Et si la connexion se ferme, le tmux lui reste actif.
Je te laisse regarder tmux, en moins de 5 minutes tu connaîtras les raccourcis claviers de base.
Pourquoi bloquer la publicité et les traqueurs : https://greboca.com/Pourquoi-bloquer-la-publicite-et-les-traqueurs.html
# screen
Posté par NeoX . Évalué à 4.
similaire à tmux,
tu lances
screen -RdS un_nom_pour_toi
puis dedans tu lances la commande, sans le nohup
tu reponds à la question
puis tu "detaches" le screen (Ctrl+a+d il me semble)
et tu reviens dessus plus tard, en refaisant le
screen -RdS un_nom_pour_toi
# dtach
Posté par .Nicolas. . Évalué à 1.
Sinon, essaie
setsid
:[^] # Re: dtach
Posté par .Nicolas. . Évalué à 1.
ne pas oublier
&
à la fin bien évidemment.# manque de précisions.
Posté par Psychofox (Mastodon) . Évalué à 3.
Ce serait plus simple si on connaissait la raison de lancer ce script avec nohup.
Si le but c'est de lancer le script en interactif de façon sporadique mais de survivre à une déconnection et ne pas avoir à gérer l'output je dirais que le plus simple c'est de le lancer normalement dans bash, choisir le nombre d'occurences et ensuite d'utiliser la commande interne de bash
disown
pour le détacher de son parent.Si le but c'est de le lancer de façon non interactive le plus simple reste de modifier le script python pour soit prendre le nombre d'occurences en argument, soit la fixer dans une variable.
# je persiste
Posté par MicP . Évalué à 1.
Comme je le disais dans mon précédent message => je reformule (car vu le 0, je suppose que ça n'a pas été bien compris)
tout dépend de ce que fait ce script et comment il le fait.
Il peut tout aussi bien avoir été créé de façon à détecter s'il est exécuté dans un environnement interactif ou non,
dans ce cas, je suppose qu'il ne retournera rien sur son flux stdout
Sinon, le flux stdout de python3.6 sera redirigé dans le fichier nohup.out étant donné que la commande nohup précédait le lancement de son interpréteur de commandes.
Bien sûr, en fonction de ce que fait le script et comment il le fait il devrait être possible de lui faire prendre en compte une liste de paramètres
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.