pm2/test/bash/file-descriptor.sh

54 lines
958 B
Bash

#!/usr/bin/env bash
#
# LSOF check
#
SRC=$(cd $(dirname "$0"); pwd)
source "${SRC}/include.sh"
cd $file_path
echo "################## RELOAD ###################"
lsof -c PM2 > /tmp/no_pm2_out.dat
$pm2 list
sleep 3
lsof -c PM2 > /tmp/empty_pm2_out.dat
$pm2 start echo.js -i 3
$pm2 start killtoofast.js -i 3
$pm2 delete all
sleep 3
lsof -c PM2 > /tmp/empty_pm2_out2.dat
OUT1=`cat /tmp/empty_pm2_out.dat | wc -l`
OUT2=`cat /tmp/empty_pm2_out2.dat | wc -l`
if [ $OUT1 -eq $OUT2 ]; then
success "All file descriptors have been closed"
else
fail "Some file descriptors are still open"
fi
$pm2 start killtoofast.js -i 6
$pm2 kill
sleep 3
lsof -c PM2 > /tmp/no_pm2_out2.dat
diff /tmp/no_pm2_out.dat /tmp/no_pm2_out2.dat
if [ $? == "0" ]; then
success "All file descriptors have been closed"
else
fail "Some file descriptors are still open"
fi
rm /tmp/no_pm2_out.dat
rm /tmp/no_pm2_out2.dat
rm /tmp/empty_pm2_out.dat
rm /tmp/empty_pm2_out2.dat