#include #include #include #include #include #include #include #include "lift.h" int main ( int argc, const char* argv[] ) { char* formatted_pid = getenv( LIFT_PID_ENV ); if( formatted_pid == NULL ) { fprintf( stderr, "%s: variable " LIFT_PID_ENV " is not set\n", argv[ 0 ] ); return EXIT_FAILURE; } char* formatted_end; long pid = strtol( formatted_pid, &formatted_end, 10 ); if( *formatted_pid == '\0' || *formatted_end != '\0' ) { fprintf( stderr, "%s: invalid value for " LIFT_PID_ENV ": %s\n", argv[ 0 ], formatted_pid ); return EXIT_FAILURE; } if( kill( (pid_t)pid, SIGTERM ) < 0 ) { fprintf( stderr, "kill(%ld): %s\n", pid, strerror( errno ) ); return EXIT_FAILURE; } return EXIT_SUCCESS; }