98 votes

Comment puis-je déclencher une notification lorsqu'un travail/processus se termine ?

L'endroit où je travaille a des commandes qui prennent beaucoup de temps à exécuter.

Existe-t-il une commande/un utilitaire que je peux utiliser pour m'avertir de la fin de l'exécution de la commande ? Il pourrait s'agir d'une fenêtre popup ou d'un petit son.

1voto

Dan Shulga Points 31

Si vous utilisez npm puis Notificateur de nœuds fournir un solution multiplateforme .

notify -t "Agent Coulson" --icon https://raw.githubusercontent.com/mikaelbr/node-notifier/master/example/coulson.jpg -m "Well, that's new. "

Prévisualisation

  • Linux KDE

Linux KDE

  • Windows

Windows

  • Mac OS

mac

  • Grognement

Growl

1voto

lhunath Points 27045

J'aurais aimé remarquer ce fil il y a des années. Ma solution était essentiellement la même que celle de Slhck, mais j'ai écrit un script. Je l'utilise tout le temps. Je poste ici pour le partager.

#!/bin/bash

msg='all done'
quiet=false
if [ "$1" = '-q' ]; then quiet=true; shift; fi
if [ $# -gt 0 ]; then msg="$*"; fi

echo -ne "\x1b]0;$msg\a"
if [ -x /usr/bin/zenity ]; then
  unset WINDOWID
  exec zenity --info --text="$msg"
elif [ -x /usr/bin/xmessage ]; then
  exec xmessage -nearmouse "$msg"
elif [ -x /usr/bin/osascript ]; then
  if ! $quiet; then say "done" &; fi
  osascript -e "tell application \"System Events\" to display dialog \"$msg\""
else
  echo $msg
fi

Une petite explication : la chaîne "\x1b]0;$msg\a" est la séquence d'échappement ANSI permettant d'afficher le message dans la barre de titre de la fenêtre à partir de laquelle il a été exécuté. Je trouve parfois très pratique de pouvoir voir de quelle fenêtre provient le message.

1voto

SoWhat Points 315

Alors cela vient assez tard, mais j'ai commencé à utiliser un système pour faire cela : J'ai un bash script qui exécute n'importe quelle commande qui lui est passée ensuite

http://somesh.io/2017/02/19/get-notified-when-long-commands-are-done-executing-on-ubuntu/

#!/bin/bash

# file location : /usr/bin/n

set +e

# $@ executes whatever command is typed after the filename

$@

notify-send "Task Completed"

et ensuite j'ajoute simplement n

n bundle install
n npm install

0voto

DTharun Points 101

Une autre possibilité est d'utiliser alert Fonctionne sur Linux.

>any-command; alert

Il donne une notification comme dans l'image. notification d'alerte

0voto

Jolt151 Points 1

J'ai créé une application qui enverra une notification à votre téléphone Android lorsqu'un processus se termine, afin que vous n'ayez pas à rester attaché à votre ordinateur.

Installer, puis ajouter ;notifier.sh à la fin de votre commande.

Par exemple, si votre commande était make install vous feriez votre commande :

make install; notifier.sh

https://notifier.sh

https://play.google.com/store/apps/details?id=sh.notifier

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X