Using noti for Monitoring and Notifications (with examples)
Use Case 1: Display a notification when tar finishes compressing files
The code for this use case is:
noti tar -cjf example.tar.bz2 example/
Motivation: When compressing files using the tar
command, it can sometimes take a significant amount of time, especially if the files are large. It is useful to receive a notification when the compression process is complete so that you can continue with other tasks without waiting for it to finish.
Explanation: The tar
command is used to create compressed archive files. In this example, the command compresses the example/
directory into a tar.bz2
file named example.tar.bz2
. The noti
command is used as a wrapper around tar
to display a notification when the compression process is complete.
Example Output: Once the tar
command finishes compressing the files, a banner notification will be displayed on the screen indicating that the process is complete.
Use Case 2: Display a notification even when putting noti after the command to watch
The code for this use case is:
command_to_watch; noti
Motivation: Sometimes we may have a long-running command that we want to monitor or be notified about once it completes. However, if we forget to include the noti
command at the beginning, we won’t receive any notification. This use case ensures that we always receive a notification, regardless of where we place the noti
command.
Explanation: In this use case, we use the semicolon ;
to separate commands in a single line. The command_to_watch
can be any command that you want to monitor, such as a script or a long-running process. After the command completes, the noti
command is executed to display a notification.
Example Output: After running the command_to_watch
, once it completes, a banner notification will be displayed on the screen using the noti
command.
Use Case 3: Monitor a process by PID and trigger a notification when the PID disappears
The code for this use case is:
noti -w process_id
Motivation: There may be instances where you have a background process running and want to be notified when it terminates unexpectedly. Monitoring a process by its Process ID (PID) allows you to receive a notification when the process terminates or disappears.
Explanation: The noti
command with the -w
option is used to monitor a process by its PID. You need to replace process_id
with the actual Process ID of the process you want to monitor. The command will continuously check if the specified process is still running. If the process terminates or disappears, a notification will be triggered.
Example Output: When the process specified by process_id
terminates or disappears, a banner notification will be displayed on the screen.
These examples demonstrate the versatility of the noti
command in providing notifications for different scenarios. Whether you want to be notified when a specific command completes, regardless of its position, or when a specified process terminates, noti
proves to be a useful tool for monitoring and receiving notifications.