Certes. Mais du coup, je me demande justement si c'est pertinent.
Ça veut dire quoi maintenir une interaction possible ? Ton programme ne veux plus réagir, on ne peut pas l'y contraindre. A lui d'avoir différentes interfaces si nécessaire (graphique, dbus, une socket unix ou tcp, un pipe nommé,...).
Je voulais dire, que si le programme ne peut plus interagir, autant le tuer, et c'est pas le job de PID1 d'être capable de vérifier ça.
Tu demande comment faire pour qu'une application buguée réagisse bien ? Remonter un bug ou un patch.
Ok. Donc, les watchdog, ça sert à rien, revenons à sysVinit (parce que oui, l'intérêt majeur de systemd (et d'autres) est bien de proposer un mécanisme de watchdog logiciel). Quand ça crash, on fait un déplacement (allez, 300 bornes, c'est rien...) et on fait un rapport de bug ou on patche, en espérant qu'il n'y ait plus de freeze.
En fait, même les containers, ça sert à rien: s'il y a une faille, on fait un rapport de bugs et/ou corriger le problème.
Perso, ma solution dans ces cas la, c'est d'essayer de revenir a du moins accéléré, moins performant, plus cher (en temps immédiat de dev) mais plus simple, plus maintenable et plus fiable (en gros, du KISS, qui a un réel coût).
Balancer un signal. Si le processus a prévu un handler c'est cool sinon ça te permettra de le tuer.
C'est ce que je craignais... perso, j'aimerai un système qui fasse que l'application crash (parce que du coup on peut relancer) quand son «descripteur de fichier graphique» n'est plus fonctionnel.
J'ai vécu le cas, sur le bureau, c'est pas trop grave (avez-vous pensé a rebooter?), et sur de l'embarqué, à plus de 50km du bureau, accès via réseau téléphonique radio seulement, déjà nettement plus chiant (l'utilisateur ne peux pas rebooter). En vrai, la solution, ça a été de revenir aux bases: ce bon vieux framebuffer pour le graphisme, avec rendu logiciel (jusque 10ms par trame, sur un CPU type intel), et libinput pour le tactile. Et pour le texte, ben, la fonte au format PSF (v1 ou v2): ça va qu'on reste dans les zones latines quoi...
C'est une solution de merde, clairement, mais pas trop eu le choix (compte tenu des impératifs de temps, le client était vraiment pas content d'avoir des trucs qui bugguent tout le temps, et le patron était pas fan non plus: il fallait du simple, qui juste marche).
[^] # Re: Mieux vaut des (processus) orphelins morts que des fils morts?
Posté par freem . En réponse à la dépêche Xfce 4.16 : La souris fait la fête !. Évalué à 5.
Certes. Mais du coup, je me demande justement si c'est pertinent.
Je voulais dire, que si le programme ne peut plus interagir, autant le tuer, et c'est pas le job de PID1 d'être capable de vérifier ça.
Ok. Donc, les watchdog, ça sert à rien, revenons à sysVinit (parce que oui, l'intérêt majeur de systemd (et d'autres) est bien de proposer un mécanisme de watchdog logiciel). Quand ça crash, on fait un déplacement (allez, 300 bornes, c'est rien...) et on fait un rapport de bug ou on patche, en espérant qu'il n'y ait plus de freeze.
En fait, même les containers, ça sert à rien: s'il y a une faille, on fait un rapport de bugs et/ou corriger le problème.
Perso, ma solution dans ces cas la, c'est d'essayer de revenir a du moins accéléré, moins performant, plus cher (en temps immédiat de dev) mais plus simple, plus maintenable et plus fiable (en gros, du KISS, qui a un réel coût).
C'est ce que je craignais... perso, j'aimerai un système qui fasse que l'application crash (parce que du coup on peut relancer) quand son «descripteur de fichier graphique» n'est plus fonctionnel.
J'ai vécu le cas, sur le bureau, c'est pas trop grave (avez-vous pensé a rebooter?), et sur de l'embarqué, à plus de 50km du bureau, accès via réseau téléphonique radio seulement, déjà nettement plus chiant (l'utilisateur ne peux pas rebooter). En vrai, la solution, ça a été de revenir aux bases: ce bon vieux framebuffer pour le graphisme, avec rendu logiciel (jusque 10ms par trame, sur un CPU type intel), et libinput pour le tactile. Et pour le texte, ben, la fonte au format PSF (v1 ou v2): ça va qu'on reste dans les zones latines quoi...
C'est une solution de merde, clairement, mais pas trop eu le choix (compte tenu des impératifs de temps, le client était vraiment pas content d'avoir des trucs qui bugguent tout le temps, et le patron était pas fan non plus: il fallait du simple, qui juste marche).