Shutdown & C/C++ [RISOLTO]
Moderatore: Staff
Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
- tgmx
- Linux 4.x

- Messaggi: 1336
- Iscritto il: ven 28 apr 2006, 14:40
- Slackware: 14.1
- Desktop: KDE 4
- Località: Ancona
Shutdown & C/C++ [RISOLTO]
Ciao Ragazzi,
secondo voi è possibile fare un piccolo programma in c/c++ (sotto linux chiaramente) che esegua uno shutdown del sistema (magari usando sudo) ?
GRAZIE.
secondo voi è possibile fare un piccolo programma in c/c++ (sotto linux chiaramente) che esegua uno shutdown del sistema (magari usando sudo) ?
GRAZIE.
Ultima modifica di tgmx il gio 12 apr 2007, 11:11, modificato 1 volta in totale.
- tgmx
- Linux 4.x

- Messaggi: 1336
- Iscritto il: ven 28 apr 2006, 14:40
- Slackware: 14.1
- Desktop: KDE 4
- Località: Ancona
Ho risolto
.
Forse ho fatto la richiesta troppo velocemente.
Vorrà dire che può essere utile a qualcun'altro:
Ovviamente ho impostato opportunamente sudo. 
Forse ho fatto la richiesta troppo velocemente.
Vorrà dire che può essere utile a qualcun'altro:
Codice: Seleziona tutto
int res = fork();
if (!res)
{
char* const argv[] = { "/usr/bin/sudo","/sbin/shutdown","-h","now", NULL };
if (execv(argv[0], argv) < 0)
exit(0);
}
- tgmx
- Linux 4.x

- Messaggi: 1336
- Iscritto il: ven 28 apr 2006, 14:40
- Slackware: 14.1
- Desktop: KDE 4
- Località: Ancona
Sto svolgendo una specie di stage in un'azienda in cui sviluppano software di interfaccia con PLC.
Era interessante fare in modo che premendo un interruttore qualsiasi collegato al PLC, questo segnalasse all'interfaccia di spegnere il computer collegato. Piuttosto che togliere drasticamente la corrente
.
Avevo omesso questa parte perchè la ritenevo un po' noiosa e poco comprensibile
Era interessante fare in modo che premendo un interruttore qualsiasi collegato al PLC, questo segnalasse all'interfaccia di spegnere il computer collegato. Piuttosto che togliere drasticamente la corrente
Avevo omesso questa parte perchè la ritenevo un po' noiosa e poco comprensibile
- masalapianta
- Iper Master

- Messaggi: 2775
- Iscritto il: lun 25 lug 2005, 0:00
- Nome Cognome: famoso porco
- Kernel: uname -r
- Desktop: awesome
- Distribuzione: Debian
- Località: Roma
- Contatta:
e perche' in C? una volta che usi sudo (e quindi non hai bisogno di "suiddare" l'applicativo che chiama shutdown), puoi tranquillamente farlo con uno script di shell o con un semplice aliastgmx ha scritto:Sto svolgendo una specie di stage in un'azienda in cui sviluppano software di interfaccia con PLC.
Era interessante fare in modo che premendo un interruttore qualsiasi collegato al PLC, questo segnalasse all'interfaccia di spegnere il computer collegato. Piuttosto che togliere drasticamente la corrente.
Un'altro stagista!!!!tgmx ha scritto:Ora non sarebbe male fare anche il contrario, cioè che all'accensione del PLC questo faccia accendere il PC ma non credo che il PLC possa generare un "wake on lan" quindi eventualmente faccio in modo che il PLC generi il "corto" che viene generato premendo il pulsante del case.
Tramite che rete è collegato il plc? Industrial Ethernet?
- tgmx
- Linux 4.x

- Messaggi: 1336
- Iscritto il: ven 28 apr 2006, 14:40
- Slackware: 14.1
- Desktop: KDE 4
- Località: Ancona
Effettivamente non c'avevo pensato. Comunque per lo spegnimento preferisco che l'interfaccia sappia quando avviene così da evitare situazioni indesiderate.twister ha scritto:In quel caso lo puoi usare anche allo spegnimento con un modprobe buttonquindi eventualmente faccio in modo che il PLC generi il "corto" che viene generato premendo il pulsante del case.
Cioè?Un'altro stagista!!!!
Nel senso che sono anch'io uno stagistatgmx ha scritto:Effettivamente non c'avevo pensato. Comunque per lo spegnimento preferisco che l'interfaccia sappia quando avviene così da evitare situazioni indesiderate.twister ha scritto:In quel caso lo puoi usare anche allo spegnimento con un modprobe buttonquindi eventualmente faccio in modo che il PLC generi il "corto" che viene generato premendo il pulsante del case.![]()
Cioè?Un'altro stagista!!!!
Non nel senso della Lewinsky però!
- elettronicha
- Master

- Messaggi: 1712
- Iscritto il: mer 13 apr 2005, 0:00
- Località: Torino
- Contatta:
- tgmx
- Linux 4.x

- Messaggi: 1336
- Iscritto il: ven 28 apr 2006, 14:40
- Slackware: 14.1
- Desktop: KDE 4
- Località: Ancona
a parte il linguaggio di programmazione...elettronicha ha scritto:che è la stessa cosa che fa un PLC ma in piccolo.V ha scritto:Non su i plc, mi occupo di programmazione di microcontrollori, comunicazione fra perfieriche ecc.....
Fortunatamente tempo fa mi sono imbattuto in "libnodave", una libreria per comunicare via ethernet con plc siemens senza dover necessariamente ricorrere a driver proprietari (siemens appunto) che girano solo sotto windows
