Sto lavorando con Amazon DynamoDB e non riesco a capire come uccidere il processo in modo programmatico per nome o PID.
Ho bisogno di riavviarlo poiché sto tenendo tutti i dati in memoria e posso cancellare l'intera cosa semplicemente riavviando il processo. Il problema è che non riesco a capire come ucciderlo così facilmente come avviarlo.
ps -ax | grep "Dynamo"
restituisce 19355 ttys001 0:28.31 /usr/bin/java -Djava.library.path=./DynamoDBLocal_lib -jar /Users/user/workspace/lib/DynamoDBLocal.jar -sharedDb -port 8000 -inMemory
Ma quando provo killall DynamoDBLocal.jar
ricevo No matching processes belonging to you were found
e il PID cambia ogni volta che viene avviato.
Come posso trovare a livello di codice il PID da inviare a kill -9 PID
o correttamente killall
per nome?
EDIT: Finito! Ecco il mio lavoro da condividere con gli altri:
alias start_dynamo='java -Djava.library.path=./DynamoDBLocal_lib -jar /Users/user/workspace/lib/DynamoDBLocal.jar -sharedDb -port 8000 -inMemory &'
alias end_dynamo="kill 'ps -ax | grep Dynamo | grep -v grep | awk '{print $1}''"
alias restart_dynamo='end_dynamo; start_dynamo'