Exit code 1 код ошибки

I tried to develop a simple currency program but I have a problem. When I click on Çevir, the program should calculate money (like an exchange). But I can’t do it. PyCharm writes Process finished with exit code 1 when I click Çevir

from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtGui import QIcon
from PyQt5.QtWidgets import qApp


class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
      ....(qtdesigner codes . i skip this part)


        self.pushButton.clicked.connect(self.cevirici)
        self.pushButton_2.clicked.connect(self.cikis)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)
   
    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.label_2.setText(_translate("MainWindow", "Birinci Döviz"))
        self.label.setText(_translate("MainWindow", "İkinci Döviz"))
        self.label_3.setText(_translate("MainWindow", "Miktar"))
        self.label_4.setText(_translate("MainWindow", "Sonuç :"))
        self.pushButton.setText(_translate("MainWindow", "Çevir"))
        self.pushButton_2.setText(_translate("MainWindow", "Çıkış Yap"))
    
    def cevirici(self):
        import requests

        import sys

        url = "http://api.fixer.io/latest?base="

        birinci_doviz = self.comboBox.currentText()
        ikinci_doviz = self.comboBox_2.currentText()

        miktar = int(self.lineEdit.currentText())

        response = requests.get(url + birinci_doviz)

        json_verisi = response.json()


        self.lineEdit_2.setText(json_verisi["rates"][ikinci_doviz] * miktar)
    def cikis(self):
        qApp.quit()    

if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())

Adriaan's user avatar

Adriaan

17.7k7 gold badges40 silver badges75 bronze badges

asked Dec 25, 2017 at 17:49

buraks's user avatar

6

0 and 1 are exit codes, and they are not necessarily python specific, in fact they are very common.

exit code (0) means an exit without errors or issues.

exit code (1) means there was some issue / problem which caused the program to exit.

The effect of each of these codes can vary between operating systems, but with Python should be fairly consistent.

answered Dec 25, 2017 at 18:07

user3483203's user avatar

user3483203user3483203

49.8k9 gold badges63 silver badges92 bronze badges

0 and 1 are exit codes.

exit code (0) means an exit without an errors or any issues, can be a compile time error or any dependency issue.

exit code (1) means there was some issue which caused the program to exit. For example if your program is running on port :8080 and that port is currently in used or not closed, then you code ends up with exit code 1

answered Nov 15, 2018 at 11:13

Ashish Kumar's user avatar

Scroll up in your run screen of pycharm.
A bug problably printed the exit exception somewhere in the middle of your printlines. This makes it look your program ran normally and suddenly exit with code 1.

answered Oct 18, 2022 at 8:36

Jop's user avatar

JopJop

291 silver badge4 bronze badges

1

What is Exit Code 1

Exit Code 1 indicates that a container shut down, either because of an application failure or because the image pointed to an invalid file. In a Unix/Linux operating system, when an application terminates with Exit Code 1, the operating system ends the process using Signal 7, known as SIGHUP.

In Kubernetes, container exit codes can help you diagnose issues with pods. If a pod is unhealthy or frequently shuts down, you can diagnose the problem using the command kubectl describe pod [POD_NAME]

If you see containers terminated with Exit Code 1, you’ll need to investigate the container and its applications more closely to see what caused the failure. We’ll provide several techniques for diagnosing and debugging Exit Code 1 in containers.

Why Do Exit Code 1 Errors Occur

Exit Code 1 means that a container terminated, typically due to an application error or an invalid reference.

An application error is a programming error in any code running within the container. For example, if a Java library is running within the container, and the library throws a compiler error, the container might terminate with Exit Code 1.

An invalid reference is a file reference in the image used to run the container, which points to a nonexistent file.

What is Signal 7 (SIGHUP)?

In Unix or Linux operating systems, signals help manage the process lifecycle. When a container terminates with Exit Code 1, the operating system terminates the container’s process with Signal 7.

Signal 7 is also known as SIGHUP – a term that originates from POSIX-compliant terminals. In old terminals based on the RS-232 protocol, SIGHUP was a “hang up” indicating the terminal has shut down.

To send Signal 7 (SIGHUP) to a Linux process use the following command:

kill - HUB [processID]

Diagnosing Exit Code 1Checking Exit Codes in Kubernetes

Diagnosing Exit Code 1

When a container exits, the container engine’s command-line interface (CLI) displays a line like this. The number in the brackets is the Exit Code.

Exited (1)

To list all containers that exited with an error code or didn’t start correctly:
If you are using Docker, run ps -la

To diagnose why your container exited, look at the container engine logs:

  • Check if a file listed in the image specification was not found. If so, the container probably exited because of this invalid reference.
  • If there are no invalid references, check the logs for a clue that might indicate which library within the container caused the error, and debug the library.

Checking Exit Codes in Kubernetes

If you are running containers as part of a Kubernetes cluster, you can find the exit code by gathering information about a pod.

Run the kubectl describe pod [POD_NAME] command.

The result will look something like this:

Containers:
  kubedns:
    Container ID: ... 
    Image:        ...
    ...
    State:          Running
      Started:      Fri, 15 Oct 2021 12:06:01 +0800
    Last State:   Terminated
      Reason:       Error
      Exit Code:    1
      Started:      Mon, 8 Nov 2021 22:21:42 +0800
      Finished:     Mon, 8 Nov 2021 23:07:17 +0800
    Ready:          True
    Restart Count:  1

DIY Troubleshooting Techniques

1. Delete And Recreate the Container

It is a good idea to start your troubleshooting by recreating the container. This can clean out temporary files or other transient conditions that may be causing the error. Deleting and recreating will run the container with a fresh file system.

To delete and recreate the container:

  • In Docker, use the docker stop command to stop the container, then use docker rm to completely remove the container. Rebuild the container using docker run
  • In Kubernetes, you can manually kill the pod that runs your container using kubectl delete pod [pod-name]. You can then wait for Kubernetes to automatically restart your pod (depending on your setup), or manually restart the pod using kubectl run [pod-name] --image=[image-name]

2. Bashing Into a Container To Troubleshoot Applications
If your container does not use entrypoints, and you suspect Exit Code 1 is caused by an application problem, you can bash into the container and try to identify which application is causing it to exit.

To bash into the container and troubleshoot applications:

  1. Bashing into the container using the following command:
    docker run -ti --rm ${image} /bin/bash
  2. You should now be running in a shell within the container. Run the application you suspect is causing the problem and see if it exits
  3. If the application exits, check the application’s logs and see if it exited due to an application error, and what was the error

Note: Another way to troubleshoot an application is to simply run the application, with the same command line, outside the container. For this to be effective, you need to have an environment similar to that inside the container on the local machine.

3. Experimenting With Application Parameters

Exit Code 1 is often caused by application errors that cause the application, and the entire container, to exit. If you determine that Exit Code 1 is caused by an application, you can experiment with various configuration options of the application to prevent it from exiting.

Here is a partial list of application parameters you can try:

  • Allocate more memory to the application
  • Run the application without special switches or flags
  • Make sure that the port the application uses is exposed to the relevant network
  • Change the port used by the application
  • Change environment variables
  • Check for compatibility issues between the application and other libraries, or the underlying operating system

4. Addressing the PID 1 Problem

Some Exit 1 errors are caused by the PID 1 problem. In Linux, PID 1 is the “init process” that spawns other processes and sends signals.

Ordinarily, the container runs as PID 2, immediately under the init process, and additional applications running on the containers run as PID 3, 4, etc. If the application running on the container runs as PID 2, and the container itself as PID 3, the container may not terminate correctly.

To identify if you have a PID 1 problem

  1. Run docker ps -a or the corresponding command in your container engine. Identify which application was running on the failed container.
  2. Rerun the failed container. While it is running, in the system shell, use the command ps -aux to see currently running processes. The result will look something like this. You can identify your process by looking at the command at the end.
    PID USER PR NI VIRT RES %CPU %MEM TIME+ S COMMAND
    1 root 20 0 1.7m 1.2m 2.0 0.5 0:05.04 S {command used to run your application}
    
  3. Look at the PID and USER at the beginning of the failing process. If PID is 1, you have a PID 1 problem.

Possible solutions for the PID 1 problem

  • If the container will not start, try forcing it to start using a tool like tini or dumb-init
  • If you are using docker-compose, add the init parameter to docker-compose.yml
  • If you are using K8s, run the container using Share Process Namespace (PID 5)

These four techniques are only some of the possible approaches to troubleshooting and solving the Exit Code 1 error. There are many possible causes of Exit Code 1 which are beyond our scope, and additional approaches to resolving the problem.

Troubleshooting Kubernetes Exit Codes with Komodor

As a Kubernetes administrator or user, pods or containers terminating unexpectedly can be a pain and can result in severe production issues.

Exit Code 1 is a prime example of how difficult it can be to identify a specific root cause in Kubernetes because many different problems can cause the same error. The troubleshooting process in Kubernetes is complex and, without the right tools, can be stressful, ineffective, and time-consuming.

Komodor is a Kubernetes troubleshooting platform that turns hours of guesswork into actionable answers in just a few clicks. Using Komodor, you can monitor, alert and troubleshoot exit code 1 event.

For each K8s resource, Komodor automatically constructs a coherent view, including the relevant deploys, config changes, dependencies, metrics, and past incidents. Komodor seamlessly integrates and utilizes data from cloud providers, source controls, CI/CD pipelines, monitoring tools, and incident response platforms.

  • Discover the root cause automatically with a timeline that tracks all changes in your application and infrastructure.
  • Quickly tackle the issue, with easy-to-follow remediation instructions.
  • Give your entire team a way to troubleshoot independently without escalating.

From Wikipedia, the free encyclopedia

«Result code» redirects here. For the result code of software in general, see Return code.

The exit status of a process in computer programming is a small number passed from a child process (or callee) to a parent process (or caller) when it has finished executing a specific procedure or delegated task. In DOS, this may be referred to as an errorlevel.

When computer programs are executed, the operating system creates an abstract entity called a process in which the book-keeping for that program is maintained. In multitasking operating systems such as Unix or Linux, new processes can be created by active processes. The process that spawns another is called a parent process, while those created are child processes. Child processes run concurrently with the parent process. The technique of spawning child processes is used to delegate some work to a child process when there is no reason to stop the execution of the parent. When the child finishes executing, it exits by calling the exit system call. This system call facilitates passing the exit status code back to the parent, which can retrieve this value using the wait system call.

Semantics[edit]

The parent and the child can have an understanding about the meaning of the exit statuses. For example, it is common programming practice for a child process to return (exit with) zero to the parent signifying success. Apart from this return value from the child, other information like how the process exited, either normally or by a signal may also be available to the parent process.

The specific set of codes returned is unique to the program that sets it. Typically it indicates success or failure. The value of the code returned by the function or program may indicate a specific cause of failure. On many systems, the higher the value, the more severe the cause of the error.[1] Alternatively, each bit may indicate a different condition, with these being evaluated by the or operator together to give the final value; for example, fsck does this.

Sometimes, if the codes are designed with this purpose in mind, they can be used directly as a branch index upon return to the initiating program to avoid additional tests.

AmigaOS[edit]

In AmigaOS, MorphOS and AROS, four levels are defined:

  • OK 0
  • WARN 5
  • ERROR 10
  • FAILURE 20

Shell and scripts[edit]

Shell scripts typically execute commands and capture their exit statuses.

For the shell’s purposes, a command which exits with a zero exit status has succeeded. A nonzero exit status indicates failure. This seemingly counter-intuitive scheme is used so there is one well-defined way to indicate success and a variety of ways to indicate various failure modes. When a command is terminated by a signal whose number is N, a shell sets the variable $? to a value greater than 128. Most shells use 128+N, while ksh93 uses 256+N.

If a command is not found, the shell should return a status of 127. If a command is found but is not executable, the return status should be 126.[2] Note that this is not the case for all shells.

If a command fails because of an error during expansion or redirection, the exit status is greater than zero.

C language[edit]

The C programming language allows programs exiting or returning from the main function to signal success or failure by returning an integer, or returning the macros EXIT_SUCCESS and EXIT_FAILURE. On Unix-like systems these are equal to 0 and 1 respectively.[3] A C program may also use the exit() function specifying the integer status or exit macro as the first parameter.

The return value from main is passed to the exit function, which for values zero, EXIT_SUCCESS or EXIT_FAILURE may translate it to «an implementation defined form» of successful termination or unsuccessful termination.[citation needed]

Apart from zero and the macros EXIT_SUCCESS and EXIT_FAILURE, the C standard does not define the meaning of return codes. Rules for the use of return codes vary on different platforms (see the platform-specific sections).

DOS[edit]

In DOS terminology, an errorlevel is an integer exit code returned by an executable program or subroutine. Errorlevels typically range from 0 to 255.[4][5][6][7] In DOS there are only 256 error codes available, but DR DOS 6.0 and higher support 16-bit error codes at least in CONFIG.SYS.[6] With 4DOS and DR-DOS COMMAND.COM, exit codes (in batchjobs) can be set by EXIT n[6] and (in CONFIG.SYS) through ERROR=n.[6]

Exit statuses are often captured by batch programs through IF ERRORLEVEL commands.[4][6] Multiuser DOS supports a reserved environment variable %ERRORLVL% which gets automatically updated on return from applications. COMMAND.COM under DR-DOS 7.02 and higher supports a similar pseudo-environment variable %ERRORLVL% as well as %ERRORLEVEL%. In CONFIG.SYS, DR DOS 6.0 and higher supports ONERROR to test the load status and return code of device drivers and the exit code of programs.[6]

Java[edit]

In Java, any method can call System.exit(int status), unless a security manager does not permit it. This will terminate the currently running Java Virtual Machine. «The argument serves as a status code; by convention, a nonzero status code indicates abnormal termination.»[8]

OpenVMS[edit]

In OpenVMS, success is indicated by odd values and failure by even values.
The value is a 32 bit integer with sub-fields: control bits, facility number, message number and severity. Severity values are divided between success (Success, Informational) and failure (Warning, Error, Fatal).[9]

POSIX[edit]

In Unix and other POSIX-compatible systems, the parent process can retrieve the exit status of a child process using the wait() family of system calls defined in wait.h.[10] Of these, the waitid() [11] call retrieves the full 32-bit exit status, but the older wait() and waitpid() [12] calls retrieve only the least significant 8 bits of the exit status.

The wait() and waitpid() interfaces set a status value of type int packed as a bitfield with various types of child termination information. If the child terminated by exiting (as determined by the WIFEXITED() macro; the usual alternative being that it died from an uncaught signal), SUS specifies that the low-order 8 bits of the exit status can be retrieved from the status value using the WEXITSTATUS() macro.

In the waitid() system call (added with SUSv1), the child exit status and other information are no longer in a bitfield but in the structure of type siginfo_t.[13]

POSIX-compatible systems typically use a convention of zero for success and nonzero for error.[14] Some conventions have developed as to the relative meanings of various error codes; for example GNU recommend that codes with the high bit set be reserved for serious errors.[3]

BSD-derived OS’s have defined an extensive set of preferred interpretations: Meanings for 15 status codes 64 through 78 are defined in sysexits.h.[15] These historically derive from sendmail and other message transfer agents, but they have since found use in many other programs.[16]

The Advanced Bash-Scripting Guide and /usr/include/sysexits.h have some information on the meaning of non-0 exit status codes.[17]

Windows[edit]

Microsoft Windows uses 32-bit unsigned integers as exit codes,[18][19] although the command interpreter treats them as signed.[20]

Exit codes are directly referenced, for example, by the command line interpreter CMD.exe in the errorlevel terminology inherited from DOS. The .NET Framework processes and the Windows PowerShell refer to it as the ExitCode property of the Process object.

See also[edit]

  • Error code
  • Return statement
  • true and false (commands)

References[edit]

  1. ^ «Errorlevels». Rob van der Woude’s Scripting Pages. Retrieved 2007-08-26.
  2. ^ «Shell command language — Exit Status for commands». The Open Group. Retrieved 2015-07-07.
  3. ^ a b «The GNU C Library Reference Manual 25.6.2: Exit Status». Gnu.org. Retrieved 2012-07-09.
  4. ^ a b Paul, Matthias R. (1997-05-01) [1993-10-01]. BATTIPs — Tips & Tricks zur Programmierung von Batchjobs. MPDOSTIP (in German). 7: ERRORLEVEL abfragen. Archived from the original on 2017-08-23. Retrieved 2017-08-23. [1] [2] Archived 2017-09-11 at archive.today (NB. BATTIPS.TXT is part of MPDOSTIP.ZIP. The provided link points to a HTML-converted older version of the BATTIPS.TXT file.) [3]
  5. ^ Auer, Eric; Paul, Matthias R.; Hall, Jim (2015-12-24) [2003-12-31]. «MS-DOS errorlevels». Archived from the original on 2015-12-24.
  6. ^ a b c d e f Paul, Matthias R. (1997-07-30) [1994-05-01]. NWDOS-TIPs — Tips & Tricks rund um Novell DOS 7, mit Blick auf undokumentierte Details, Bugs und Workarounds. MPDOSTIP. Release 157 (in German) (3 ed.). Archived from the original on 2016-11-04. Retrieved 2014-08-06. (NB. NWDOSTIP.TXT is a comprehensive work on Novell DOS 7 and OpenDOS 7.01, including the description of many undocumented features and internals. The provided link points to a HTML-converted version of the file, which is part of the MPDOSTIP.ZIP collection.) [4]
  7. ^ Allen, William; Allen, Linda. «Windows 95/98/ME ERRORLEVELs». Archived from the original on 2011-07-07.
  8. ^ «Java 1.6.0 API». Sun Microsystems. Retrieved 2008-05-06.
  9. ^ «OpenVMS Format of Return Status Values». H71000.www7.hp.com. Archived from the original on 2012-03-19. Retrieved 2012-07-09.
  10. ^ sys_wait.h – Base Definitions Reference, The Single UNIX Specification, Version 4 from The Open Group
  11. ^ waitid – System Interfaces Reference, The Single UNIX Specification, Version 4 from The Open Group
  12. ^ wait – System Interfaces Reference, The Single UNIX Specification, Version 4 from The Open Group
  13. ^ «2.4.3 Signal Actions». The Open Group. Retrieved 2019-02-08.
  14. ^ «Chapter 6. Exit and Exit Status». Faqs.org. Retrieved 2012-07-09.
  15. ^ sysexits(3): preferable exit codes for programs – FreeBSD Library Functions Manual
  16. ^ Google search for «»sysexits.h» site:github.com» reports «About 3,540 results»; retrieved 2013-02-21.
  17. ^ «Exit Codes with Special Meanings».
  18. ^ «ExitProcess function». Retrieved 2016-12-16.
  19. ^ «GetExitCodeProcess function». Retrieved 2022-04-22.
  20. ^ «ExitCodes bigger than 255, possible?». Retrieved 2009-09-28.

Improve Article

Save Article

Like Article

  • Read
  • Discuss
  • Improve Article

    Save Article

    Like Article

    The purpose of the exit() function is to terminate the execution of a program. The “return 0”(or EXIT_SUCCESS) implies that the code has executed successfully without any error. Exit codes other than “0”(or EXIT_FAILURE) indicate the presence of an error in the code. Among all the exit codes, the codes 1, 2, 126 – 165 and 255 have special meanings and hence these should be avoided for user-defined exit codes.
    Syntax 
     

    void exit(int return_code)

    Note: It is also to taken into consideration that an exit code with a value greater than 255 returns an exit code modulo 256.
    For Example: If we execute a statement exit(9999) then it will execute exit(15) as 9999%256 = 15.
    Some of the Exit Codes are: 
     

    • exit(1): It indicates abnormal termination of a program perhaps as a result a minor problem in the code.
    • exit(2): It is similar to exit(1) but is displayed when the error occurred is a major one. This statement is rarely seen.
    • exit(127): It indicates command not found.
    • exit(132): It indicates that a program was aborted (received SIGILL), perhaps as a result of illegal instruction or that the binary is probably corrupt.
    • exit(133): It indicates that a program was aborted (received SIGTRAP), perhaps as a result of dividing an integer by zero.
    • exit(134): It indicates that a program was aborted (received SIGABRT), perhaps as a result of a failed assertion.
    • exit(136): It indicates that a program was aborted (received SIGFPE), perhaps as a result of floating point exception or integer overflow.
    • exit(137): It indicates that a program took up too much memory.
    • exit(138): It indicates that a program was aborted (received SIGBUS), perhaps as a result of unaligned memory access.
    • exit(139): It indicates Segmentation Fault which means that the program was trying to access a memory location not allocated to it. This mostly occurs while using pointers or trying to access an out-of-bounds array index.
    • exit(158/152): It indicates that a program was aborted (received SIGXCPU), perhaps as a result of CPU time limit exceeded.
    • exit(159/153): It indicates that a program was aborted (received SIGXFSZ), perhaps as a result of File size limit exceeded.

    Hence the various exit codes help the user to debug the code. For instance, if one receives an exit code of 139, this implies that the code has a segmentation fault and the code can be debugged accordingly.
    Program 1: 
    Below program will give Segmentation Fault:
     

    CPP

    #include <iostream>

    using namespace std;

    int main()

    {

        int arr[100] = { 0 };

        cout << arr[100001];

        return 0;

    }

    Output: 
    Below is the output of the above program: 
     

    Program 2: 
    Below program will give Floating Point Error:
     

    CPP

    #include <iostream>

    using namespace std;

    int main()

    {

        int a = 1, b = 0;

        cout << a / b;

        return 0;

    }

    Output: 
    Below is the output of the above program: 
     

    Program 3: 
    Below program will give Time Limit Exceed:
     

    CPP

    #include <iostream>

    using namespace std;

    int main()

    {

        for (;;) {

            int arr[10000];

        }

        return 0;

    }

    Output: 
    Below is the output of the above program: 
     

    Last Updated :
    23 Jun, 2021

    Like Article

    Save Article

    ���������� C. ���� ����������, �������
    ���������������� �����

    ������� C-1. «�����������������» ����
    ����������

    ��� ���������� ����� ������ ����������
    1 ������������� ������ let «var1 = 1/0» ��������� ������, ����� ��� «������� �� ����»
    ��.
    2 �������� ������������ � Bash — ��������
    ������������� ���������� ������
    ����������� �������� �����, ������ ���
    ���������� ������������ ������ 1
    126 ���������� ������� �� ����� ����
    ���������
    ��������� ��-�� ������� � ������� �������
    ��� ����� ������ �� ���������� ������������� ����
    127 «������� �� �������» �������� ������� ���� � ����������
    ��������� $PATH, ���� � �������� ����������
    ����� �������
    128 �������� �������� ������� exit exit 3.14159 ������� exit ����� ��������� ������
    ������������� ��������, � ��������� 0 — 255
    128+n ��������� ������ �� ������� «n» kill -9 $PPID �������� $? ������ 137
    (128 + 9)
    130 ���������� �� Control-C Control-C — ��� ����� �� ������� 2, (130 =
    128 + 2, ��. ����)
    255* ��� ���������� ��� �����������
    ���������
    exit -1 exit ����� ��������� ������
    ������������� ��������, � ��������� 0 — 255

    �������� ���� �������, ���� ���������� 1 — 2, 126 — 165 � 255
    [1] ����� ���������������� ��������,
    ������� ��� ������� �������� ������������ ���� ����� ��� �����
    ����. ���������� �������� � ����� �������� exit 127, ����� �������� �
    �������������� ��� ������ ������ � �������� (������������� �� ��
    �������� ������ «������� �� �������»? ��� ���
    ��������������� ������������� ��� ����������?). � �����������
    �������, ������������ ��������� exit 1, � �������� ������� �� ������.
    ��� ��� ��� ���������� 1 ������������� �����
    «�����» ������, �� � ������ ������ ������ �������� �
    ����� ���� ���������������, ���� � �� ��������������� —
    ����.

    �� ��� ��������������� ������� ����������������� ����
    ���������� (��. /usr/include/sysexits.h), �� ���
    �������������� ������������� ��� �������������, ������� �� ������
    C � C++. ����� ��������� ���������� ���������� ���� ����������,
    ������������ �������������, ���������� 64 — 113 (�, ���� �����
    ���������� — 0, ��� ����������� ��������� ����������), �
    ������������ �� ���������� C/C++. ��� ������� �� ����� ������
    ����� �������.

    ��� ��������, ����������� � ������� ���������, ��������� �
    ������������ � ���� ����������, �� ����������� �������, �����
    ���������� ���������� ��������������, �������� � ������ 9-2.

    Note

    ��������� � ���������� $?, �� ���������
    ������, ����� ���������� ������ ��������, ���� ���������,
    � ������������ � ��������, ����������� ����, �� ������
    ��� Bash ��� sh. ��� ����������� csh ���
    tcsh �������� ����� �
    ��������� ������� ����������.

    Понравилась статья? Поделить с друзьями:
  • Exel ошибка при направлении команды приложению
  • Exe ошибка при установке игры
  • Execvp ошибка формата выполняемого файла
  • Executerequesthandler обработчик 1c web service extension код ошибки 0x800700c1
  • Exe обнаружена ошибка что делать