Primo problema
Stai cercando di eseguire il comando mysqld_safe
, quindi quel comando dovrebbe trovarsi su PATH dove il terminale cerca i comandi. (Puoi visualizzare queste posizioni eseguendo echo $PATH
. Le diverse posizioni sono separate da due punti).
Dato che stai tentando di eseguire un file che si trova nella directory locale, dovresti digitare ./mysqld_safe
per dire alla shell che stai fornendo un percorso al file, altrimenti lo cercherà nel PERCORSO . (Puoi eseguire il file da qualsiasi luogo specificando il percorso completo).
Un'altra soluzione è creare un collegamento simbolico in /usr/local/bin/
che punta a /usr/local/mysql/mysqld_safe` (che è il percorso del comando se ho capito bene). In questo modo puoi eseguire il comando da qualsiasi luogo perché si trova nel percorso che la shell sta cercando.
Secondo problema
Il cat
il comando circondato da backtick viene eseguito dalla shell prima eseguendo il comando sudo (se il file era leggibile per tutti, la shell eseguirà qualcosa del tipo:sudo kill 12345
).
Per eseguire il cat
come root dovresti eseguire questo comando:
sudo bash -c 'kill `cat /usr/local/mysql/data/rodongi.pid`'
In questo modo, esegui bash come root, che a sua volta esegue kill
comando, e quindi legge il rodongi.pid
file come root.