Minishell 1.0
42 School Minishell Project - A simple shell implementation
Yüklüyor...
Arıyor...
Eşleşme Yok
executor_cmd.c Dosya Referansı

Komut çalıştırma fonksiyonları Ayrıntılar...

#include "../../include/minishell.h"
#include <stdio.h>
#include <stdlib.h>
#include <sys/wait.h>
#include <unistd.h>
executor_cmd.c için içerme bağımlılık grafiği:

Bu dosyanın kaynak koduna git.

Fonksiyonlar

static void update_underscore (t_shell *shell, t_cmd *cmd)
 _ underscore değişkenini son argümanla günceller
int run_builtin_parent (t_shell *shell, t_cmd *cmd)
 Builtin'i parent process'te çalıştır (fork yok).
static void child_exec (t_shell *shell, t_cmd *cmd, char *path)
 Bulunan path ile child process'te execve çalıştır.
int execute_external (t_shell *shell, t_cmd *cmd)
 Harici komutu çalıştır — path kontrolü fork öncesi yapılır böylece "command not found" hatası parent'ta sırayla basılır.
int execute_cmd (t_shell *shell, t_cmd *cmd)
 Ana komut çalıştırma dispatcher.

Ayrıntılı tanımlama

Komut çalıştırma fonksiyonları

executor_cmd.c dosyasında tanımlanmıştır.

Fonksiyon Dokümantasyonu

◆ update_underscore()

void update_underscore ( t_shell * shell,
t_cmd * cmd )
static

_ underscore değişkenini son argümanla günceller

executor_cmd.c dosyasının 27 numaralı satırında tanımlanmıştır.

Referanslar s_cmd::args, s_shell::env_list ve update_env_value().

Referans veren execute_cmd().

Bu fonksiyon için çağırılma şeması:
Bu fonksiyon için çağırılma şeması:

◆ run_builtin_parent()

int run_builtin_parent ( t_shell * shell,
t_cmd * cmd )

Builtin'i parent process'te çalıştır (fork yok).

executor_cmd.c dosyasının 42 numaralı satırında tanımlanmıştır.

Referanslar execute_builtin(), restore_std_fds(), save_std_fds() ve setup_redirs().

Referans veren execute_cmd().

Bu fonksiyon için çağırılma şeması:
Bu fonksiyon için çağırılma şeması:

◆ child_exec()

void child_exec ( t_shell * shell,
t_cmd * cmd,
char * path )
static

Bulunan path ile child process'te execve çalıştır.

executor_cmd.c dosyasının 62 numaralı satırında tanımlanmıştır.

Referanslar s_cmd::args, create_envp(), free_str_array(), reset_signals(), setup_redirs() ve shell_exit().

Referans veren execute_external().

Bu fonksiyon için çağırılma şeması:
Bu fonksiyon için çağırılma şeması:

◆ execute_external()

int execute_external ( t_shell * shell,
t_cmd * cmd )

Harici komutu çalıştır — path kontrolü fork öncesi yapılır böylece "command not found" hatası parent'ta sırayla basılır.

executor_cmd.c dosyasının 86 numaralı satırında tanımlanmıştır.

Referanslar s_cmd::args, child_exec(), s_shell::env_list, find_cmd_path(), is_executable(), shell_error(), update_env_value() ve wait_for_child().

Referans veren execute_cmd().

Bu fonksiyon için çağırılma şeması:
Bu fonksiyon için çağırılma şeması:

◆ execute_cmd()

int execute_cmd ( t_shell * shell,
t_cmd * cmd )

Ana komut çalıştırma dispatcher.

executor_cmd.c dosyasının 121 numaralı satırında tanımlanmıştır.

Referanslar s_cmd::args, s_shell::env_list, execute_external(), is_builtin(), s_cmd::redirections, restore_std_fds(), run_builtin_parent(), save_std_fds(), setup_redirs(), update_env_value() ve update_underscore().

Referans veren execute_ast().

Bu fonksiyon için çağırılma şeması:
Bu fonksiyon için çağırılma şeması: