Ubuntu Suomen keskustelualueet
Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: Scionar - 01.01.09 - klo:23.20
-
Eli kysymys kuuluu että millä koodilla pystyy C-ohjelmointikielessä sammuttamaan päätteen ainakin näin Linuxissa?
-
mitähän tarkalleen ottaen tarkoitat päätteen sammuttamisella?
-
mitähän tarkalleen ottaen tarkoitat päätteen sammuttamisella?
Samaa asiaa kuin pääte suljettaisiin klikkaamalla ruksia.
-
Arvaus. Kokeile kirjoittaa päätteeseen:exit => enter.
Terveisin kalarm.
-
Samaa asiaa kuin pääte suljettaisiin klikkaamalla ruksia.
Onko pääte sama josta C-ohjelmasi käynnistetään? Silloin voisit katsoa getppid() kutsua jolla saa C-ohjelmasi "äidin" selville ja lähettää tuolle pid:lle vaikka SIGTERM-signaalin...
-
Onko pääte sama josta C-ohjelmasi käynnistetään? Silloin voisit katsoa getppid() kutsua jolla saa C-ohjelmasi "äidin" selville ja lähettää tuolle pid:lle vaikka SIGTERM-signaalin...
Jep. Sama pääte pitäisi saada sammutettua. Saisinko jonkinlaisen koodiesimerkin tästä käytännöstä?
-
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <signal.h>
int main(int argc, char **argv)
{
pid_t pid, ppid;
pid = getpid();
ppid = getppid();
printf("Minä olen %d ja äitini on %d\n", pid, ppid);
sleep(10);
kill(ppid, SIGKILL);
return 0;
}
Kannattaa valita joku parempi signaali kuin 9, kill -l kertoo vaihtoehdot...
-
Jep. Sama pääte pitäisi saada sammutettua.
miksi ihmeessä?
mitä lapsiprosessille pitäisi tapahtua kun sen käynnistänyt prosessi kuolee/sammuu?
-
miksi ihmeessä?
Olen tekemässä tekstipeliä. Haluaisin saada valinnan "Lopeta peli" toimimaan.
-
Olen tekemässä tekstipeliä. Haluaisin saada valinnan "Lopeta peli" toimimaan.
oletko tekemässä tekstipeliä jota saa pelata vain graafisessa ympäristössä terminaali-ikkunassa?
entä jos joku haluaa pelata sitä esim. puhtaasti komentoriviltä tai ssh:n yli palvelimella?
minun mielestäni "lopeta peli" -vaihtoehdon pitäisi vain lopettaa peli, ei logata käyttäjää ulos, katkaista etäyhteyttä, lopettaa mitään muita ohjelmia tai mitää muutakaan erityisen yllättävää.
-
oletko tekemässä tekstipeliä jota saa pelata vain graafisessa ympäristössä terminaali-ikkunassa?
entä jos joku haluaa pelata sitä esim. puhtaasti komentoriviltä tai ssh:n yli palvelimella?
Puhtaasti komentorivillä pelattavaa peliä olen tekemässä.
minun mielestäni "lopeta peli" -vaihtoehdon pitäisi vain lopettaa peli, ei logata käyttäjää ulos, katkaista etäyhteyttä, lopettaa mitään muita ohjelmia tai mitää muutakaan erityisen yllättävää.
Lopulta aikamoinen mielipideasia siinä mitä haluaa tuolla valinnalla tapahtuvan. Itse ainakin näen käytännöllisempänä sen että pääte sammuu kuin että pelkästään ohjelma ajautuisi loppuun.
-
Lopulta aikamoinen mielipideasia siinä mitä haluaa tuolla valinnalla tapahtuvan. Itse ainakin näen käytännöllisempänä sen että pääte sammuu kuin että pelkästään ohjelma ajautuisi loppuun.
Jos se on mielipideasia niin sinun mielipiteesi on väärä ja jannen oikea. Piste.
Tilanne olisi suunnilleen sama jos työpöytäympäristön (esim. Gnome tai KDE) alla ajettava ohjelma tappaisi sammuessaan koko työpöytäympäristön. Sehän se vasta käytännöllistä olisikin...
-
Eikös tuo mene suunnilleen niin, että jos sen pelin laittaa komennolla päätteestä auki niin se sulkee vain pelin ja jos sen avaa kuvakkeesta (joka avaa sen päätteessä) niin se sulkee myös sen päätteen... ::)
-
Jos se on mielipideasia niin sinun mielipiteesi on väärä ja jannen oikea. Piste.
Nyt kun tiedämme taustat niin olen samaa mieltä, äitiprosessia ei saa sammuttaa. Tai voihan sen sammuttaa mutta se on aivan väärä lähestymistapa jolla voi olla ei-toivotut seuraukset...
-
Valikkoihin vaikka tuollainen käynnistyskomento:
xterm -e ohjelma
jos tätä tässä etsitään. Sulkeutuu lopetettaessa.
-
Eikös tuo mene suunnilleen niin, että jos sen pelin laittaa komennolla päätteestä auki niin se sulkee vain pelin ja jos sen avaa kuvakkeesta (joka avaa sen päätteessä) niin se sulkee myös sen päätteen... ::)
tämä on oletuskäytäntö ja tapahtuu automaattisesti ilman ylimääräisiä prosessien lopettamisia.