Forum Linux.debian/ubuntu terminal et bash

Posté par  . Licence CC By‑SA.
Étiquettes :
1
29
mai
2019

Bonjour à tous,

je suis actuellement sur debian sans gnome-desktop installé, uniquement le gnome-terminal.
Je peux taper les commandes Bash. Mais j'aimerais savoir sur quel programme je tape mes commandes. Est ce tout simplement Bash qui utiliser la libX11 pour afficher du texte sur l'écran, ou est ce un autre programme qui crée un processus fils puis ensuite fait execv(/bin/bash, la commande que j'ai fait) et affiche la sortie de la commande sur sa propre sortie ?

Merci d'avance pour (…)

Forum Linux.général mon programme n'arrive pas a trouver la lib

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
8
mai
2019

Bonjour,

voila j'ai téléchargé un programme nommé sokoban venant du site openClassroom. Lorsque je lance le programme, le linker me dit: "./sokoban: error while loading shared libraries: libSDL-1.2.so.0: cannot open shared object file: No such file or directory"

pourtant j'ai bien installé la libSDL-1.2.so.

j'ai fait un ldd sokoban et j'ai :
linux-gate.so.1 (0xf7fb9000)
libSDL-1.2.so.0 => not found
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf7f68000)
libSDL_image-1.2.so.0 => not found
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf7d8c000)
/lib/ld-linux.so.2 (0xf7fbb000)

donc effectivement il ne trouve pas libSDL-1.2.so.0 et (…)

Forum Linux.général linux me retourne la valeur 139 quand j'ai un segFault (SIGSGEV)

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
25
fév.
2019

bonjour,

Lors d'un segFault je constate que la valeur de sortie de mon processus est 139 ce qui correspond au signal 11 (SIGSEGV)

mais qui me retourne cette valeur de sortie, une libc qui a inclue une sorte de handler avec l'appel systeme sigaction ? et lors de l'arret de mon processus, le processus pere qui est le terminal récupere la valeur généré par le processus fils ?

Merci d'avance.

Forum Linux.débutant probleme avec sigaction

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
1
21
fév.
2019

Bonjour à tous,

voila lors d'un segFault je veux récupérer le signal. J'ai donc utilisé sigaction qui conseil de mettre à la fin du handler l'appel systeme raise ou kill. Je m'attendais donc que mon processus tourne en boucle car a chaque signal sigSEGV recu la fonction fToCallIfSegFault est sensé etre appelé, et pourtant non, pourquoi ?

voici mon code :

#define SIGSEGV 11

void fToCallIfSegFault(int sig)
{
    fprintf(stdout, "il y a eu un
(…)

Forum Linux.général impossible de modifier un exécutable lorsqu'il est en exécution

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
2
20
fév.
2019

Bonjour,

voila j'ai crée un script :
#!/bin/bash
echo "coucou"
sleep 100
exit 0

et pendant que le processus est endormi, je modifie le code :
#!/bin/bash
echo "coucou"
sleep 100
echo "script modifié pendant l'exécution"
exit 0
et je m'attend à une erreur et pourtant le terminal me retourne bien au bout de 100 secondes l'echo "script modifié pendant l'exécution".

Il me semblait qu'il était impossible sous linux de modifier le code d'un programme en cours d'exécution, principalement pour (…)

Forum Linux.noyau comment est ce possible de faire un noyau avec python ou un langage interprété

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
2
15
fév.
2019

Bonjour,

j'ai vu sur plusieurs forums des personnes qui disent avoir conçu un noyau avec des langages interprété comme python. Comment est ce possible ?
car quand le MBR lance le noyau ca ne peut être qu'un exécutable non ?

merci d'avance pour votre aide

Forum Linux.noyau pourquoi je dois faire un free() alors que le noyau libere la mémoire à la fin de mon processus

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
3
13
fév.
2019

Bonjour,

je m’intéresse depuis peu au noyau et je tombe sur une incohérence dans ma facon de voir les choses.

Lorsque je lance un programme, c'est le noyau qui va allouer la mémoire pour mon processus. Et quand mon programme est fini, alors le noyau libere la mémoire pour qu'un autre processus puisse l'utilisé. Mais alors est ce que free() a une vrai utilité ?

Merci d'avance pour votre aide

Forum Linux.général probleme avec la commande ls | file

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
10
fév.
2019

Bonjour,

j'ai lancé sur un terminal la commande : ls | file
donc je devrais avoir pour chaque fichier dans le répertoire courant avoir le type de fichier qu'il s'agit, or le terminal me renvoie le message d'erreur : Usage: file …

Avez vous une idée du probleme.

J'ai d’ailleurs essayé la commande echo fichier.txt | file
et ca ne marche toujours pas

Merci d'avance pour votre aide

Forum Linux.noyau de l'appel systeme au mode noyau

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
3
4
fév.
2019

Bonjour à tous,

voila quand je fais un appel systeme en C, mon code assembleur va placer dans un registre quel type d'appel systeme je fais, puis à l'instruction suivante lancer l'instruction (processeur x86) :
int 80h

quand le processeur voit cette instruction, il fait un saut en mémoire pour aller au niveau du code ou se trouve le noyau ? puis le code noyau fait son taff et met dans un registre la réponse de l'appel systeme qui était (…)

Forum Linux.débutant probleme pour comprendre l'édition de lien

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
1
20
jan.
2019

Bonjour à tous,

voici mon code :

#include <stdio.h>

void main(){
         fprintf(stdout, "bonjour");
         return 0;
}

Quand je compile mon programme avec : gcc mon_programme.c ,le compilateur va (furtivement) inclure des libs de la glibC car j'utilise la fonction fprintf(). Mais quand j'exécute mon programme : a.out, il faut également lancer dans la mémoire ram la fonction fprintf que j'ai besoin non ? comment ca marche ? quand je lance le programme, est ce (…)

Forum Linux.général comment un ordi avec un seul CPU peut faire du multi tache

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
2
7
jan.
2019

Bonjour à tous.

Voila je vais prendre l'exemple ci dessous, ca illustra bien mon probleme de compréhension.

je lance un programme (qui est une boucle infini) dans un shell via la commande ./mon_programme

le noyau va donc laisser la main à mon programme, et donc sur le CPU seulement mon programme tourne. Et donc le noyau ne tourne plus car le CPU exécute les instructions de mon programme. Comment le noyau peut reprendre la main alors que le seul processus (…)

Forum Linux.noyau SCHED_FIFO et signal alarme

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
2
1
jan.
2019

Bonjour à tous

je dispose d'un processeur quad-core.
je veux faire planter mon ordi en infectant a chaque processeur un processus avec une priorité maximale et avec comme politique d'ordonnancement SCHED_FIFO. Donc des que le noyau affecte mon processus a un processeur, le processus ne rend jamais la main.
voici mon code:

    int main(void)
    {       
        struct sched_param schedParam;
        schedParam.sched_priority = 99;

        if ( sched_setscheduler(getpid(), SCHED_FIFO, & schedParam) !=
(…)

Forum Programmation.c++ probleme avec l'edition de lien

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
1
17
déc.
2018

Bonjour à tous,

Je suis tombé dans un projet d'école avec un répertoire libCalcul ou se trouvait :
libCalcul.so -> libCalcul.so.1.0.0
libCalcul.so.1 -> libCalcul.so.1.0.0
libCalcul.so.1.0 -> libCalcul.so.1.0.0
libCalcul.so.1.0.0

avec les fleches représentant des liens symboliques. Je n'ai rien compris a tous ces liens symboliques. Lors de l'édition de lien la lib libCalcul.so.1.0.0 est la seul qui compte, avec la commande g++ programme.cpp -L:/home/ -lCalcul.so.1.0.0 -o progFinale et ca devrait marcher alors pourquoi créer tous ces liens symboliques?

Ensuite ma seconde (…)

Forum Linux.général mon service est loaded (enable) mais inactive

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
1
11
nov.
2018

Bonjour à tous,

voila j'ai créé un script : persoService.sh :

    #!/bin/bash

    DAEMON="/bin/persoProg" #ligne de commande du programme
    DAEMONUSER="cosmoff" #utilisateur du programme
    daemon_NAME="persoProg" #Nom du programme (doit être identique à l'exécutable).


    PATH="/sbin:/bin:/usr/sbin:/usr/bin" 

    test -x $DAEMON || exit 0

    . /lib/lsb/init-functions


    d_start () {
            log_daemon_msg "Starting system $daemon_NAME Daemon"
            start-stop-daemon --background --name $daemon_NAME --start --quiet --chuid $DAEMONUSER --exec $DAEMON #-- $daemon_OPT
            log_end_msg $?
    }

    d_stop () {
            log_daemon_msg "Stopping system $daemon_NAME Daemon"
            start-stop-daemon
(…)

Forum Linux.debian/ubuntu le noyau lance initrd ou initrd est lancé par le boot loader

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
1
27
oct.
2018

Bonjour,

Le boot loader qui se trouve dans les 512 premiers octet de la partition va lancer le noyau, mais comment le boot loader trouve le noyau alors que le systeme de fichier n'est pas monté ? le boot loader sait dans quels cylindres, pistes, secteurs ou se trouve le noyau, ou faut il d'abord monter le systeme de fichier via initrd, mais dans ce cas comment le boot loader trouve le programme initrd ?

initrd c'est juste un programme (…)