Using bash modules
Bash modules in Ansible are no different than any other bash scripts, except the way it prints the data on stdout. Bash modules could be as simple as checking if a process is running on the remote host to running some complex commands.
Note
As previously stated, the general recommendation is to use Python for modules. In my opinion the second-best choice (only for very easy modules) is bash module due to its simplicity and user base.
Let's create the file library/kill_java.sh with the following content:
#!/bin/bash
source $1
SERVICE=$service_name
JAVA_PIDS=$(/usr/java/default/bin/jps | grep ${SERVICE} | awk '{print $1}')
if [ ${JAVA_PIDS} ]; then
for JAVA_PID in ${JAVA_PIDS}; do
/usr/bin/kill -9 ${JAVA_PID}
done
echo "failed=False msg="Killed all the orphaned processes for ${SERVICE}""
exit 0
else
echo "failed=False msg="No orphaned processes to kill for ${SERVICE}""
exit...