首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用Pycharm,一旦代码运行,我不会得到任何输出,只是进程结束,退出代码为0

问题描述:使用Pycharm,一旦代码运行,我不会得到任何输出,只是进程结束,退出代码为0。

回答:

这个问题可能有多种原因导致。下面我将逐一介绍可能的原因和解决方法:

  1. 代码中没有输出语句:首先要确保你的代码中包含了输出语句,例如print语句。如果代码中没有输出语句,那么程序运行结束后就不会有任何输出。
  2. 输出被重定向到其他地方:有时候,Pycharm默认将输出重定向到了控制台之外的地方,例如文件或者日志。你可以尝试在代码中添加以下语句,将输出强制重定向到控制台:
代码语言:python
复制

import sys

sys.stdout = sys.stdout

代码语言:txt
复制
  1. 运行配置错误:检查一下你的运行配置是否正确。在Pycharm中,你可以通过点击菜单栏的"Run" -> "Edit Configurations"来查看和修改运行配置。确保你选择了正确的Python解释器,并且运行的是你想要运行的文件。
  2. 代码中出现异常导致程序提前退出:如果你的代码中出现了异常,并且没有进行异常处理,那么程序可能会在异常发生时提前退出,导致没有输出。你可以尝试在代码中添加异常处理语句,例如try-except语句,来捕获并处理异常。
  3. Pycharm设置问题:有时候,Pycharm的设置可能会导致输出不可见。你可以尝试重置Pycharm的设置,具体操作是点击菜单栏的"File" -> "Settings",然后选择"Appearance & Behavior" -> "System Settings" -> "Reset Settings",最后点击"Reset"按钮进行重置。

希望以上解答对你有帮助。如果你需要更多帮助或有其他问题,请随时提问。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Linux系统下进程编程之进程状态和守护进程解析(五)

守护进程是非交互式程序,没有控制终端,所以任何输出,无论是向标准输出设备stdout还是标准出错设备stderr的输出都需要特殊处理。...(3)调用chdir函数将当前进程工作目录设置/ 【chdir("/");】 (4)umask设置0以取消任何文件权限屏蔽,使得进程具有最大的权限 【umask(0);】 (5...(6)将0、1、2三个文件描述符定位到/dev/null(也就是把这个进程的标准输入、标准输出和标准出错信息全部绑定到/dev/null) 3、示例代码编写: 任何一个进程都可以将自己实现成守护进程...(pid > 0) { exit(0); // 父进程直接退出 } // 执行到这里就是子进程 // setsid将当前进程设置一个新的会话期session..."I am running",这说明创建守护进程成功了: 代码说明: 这里sysconf函数和setsid函数的使用可以分别使用man手册来查看它们具体的用法,这里就不举例了

79010

Linux进程控制【创建、终止、等待】

wait(0); //等待子进程运行结束 printf("是父进程,PID:%d PPID:%d\n", getpid(), getppid()); return 0; //父进程运行结束后...进程退出后,OS 会释放对应的 内核数据结构+代码和数据 main 函数退出,表示整个程序退出,而程序中的函数退出,仅表示该函数运行结束 2.2、退出方式 对一个正在运行中的进程,存在两种终止方式:外部终止和内部终止...() 时,输出语句 使用 _exit() 时,并没有任何语句输出 原因: exit() 是对 _exit() 做的封装实现 _exit() 就只是单纯的退出程序 而 exit() 在退出之前还会做一些事...,父进程可以通过函数等待子进程运行结束,此时父进程属于阻塞状态 注意: 进程退出状态是必要的 进程的执行结果是非必要的 也就是说,父进程必须对子进程负责,确保子进程不会连累 OS,而子进程执行的结果是否正确...core dump,低 7 位表示终止信号 options 选项,比如可以选择父进程是否需要阻塞等待子进程退出 需要特别注意 status 通过代码演示 waitpid() 的使用 int main

23110

书中关于伪终端的一个纰漏

在看 apue 第 19 章伪终端第 6 节使用 pty 程序时,发现“检查长时间运行程序的输出”这一部分内容的实际运行结果,与书上所说有出入。...当 slowout 结束时,子进程读伪终端主设备时返回 0,它知道工作进程结束后,也即将结束自己的工作, 但是父进程一直卡在读终端输入上,并不知道工作进程已经退出,于是 pty 子进程向父进程发送一个...测试的结果是,如果  slowout 不从标准输入读取的话,则一切正常; 而一旦任何读取动作,都会导致  slowout 卡死,进而 pty 子进程卡死,这两个进程都没有机会退出。.../slowout 可以通过 ps 命令观察到卡死的进程,7650 pty 子进程,7649 slowout 子进程,7648 pty 父进程退出。...但是 pty 父进程早就因为读取 /dev/null 得到 EOF 而退出了,只不过临退出前因为指定了 -i 参数,没有将 pty 子进程一并结束罢了。

41720

Python的线程Thread的自我介绍

首先,想说的是,(线程)不只是在python中会出现,任何编程语言中都可以使用代码将我实现,所以,简单来说是一个机制,在一些特别的情况下会遇到我。...看一下运行结果: ? ok,看了上面的运行结果我们就知道答案是否定的,一旦线程内的方法抛出异常,那么它本身将不会再执行了。所以我们总结一下,一般线程在什么时候会退出: 线程函数内语句执行完毕....正好是执行四次(他们的顺序是无序的,把t1-t4这样写出来是为了证明有四个线程,他们之间运行没有先后,就看谁先抢到资源,谁就先运行了) 当使用start方法启动线程后,进程内有多个活动的线程并行的工作...join方法有一点是要强调的,就是它是保证当前线程运行完成后再去执行其他线程的。 我们来看一个简单的例子: 首先我们不用join: ? 它会直接把结果一下子就输出来,程序结束不会一秒一秒的等。...就会一秒一秒地有序输出,然后结束程序。 join有一个timeout参数: 当设置守护线程时,含义是主线程对于子线程等待timeout的时间将会杀死该子线程,最后退出程序。

63920

判断Threading.start新线程是否执行完毕的实例

完成返回0 然后执行 class MyThread(threading.Thread):#的Thread类 判断流程结束没 用于os shell命令是否执行判断 def __init__(self,...完成返回0 这样就可以判断os.sysytem里语句是否执行完成是否 补充知识:python的threading.Thread线程的start、run、join、setDaemon Pycharm整体看下...name/getName/setName是线程名字有关的; isDaemon是否是守护进程 setDaemon设置守护进程,如果把调用线程设置守护线程,那么等调用线程结束后,被调用的子线程结束与否都会随着守护线程结束...通过调用Thread类的start()方法来启动一个线程,这时此线程处于就绪(可运行)状态,并没有运行一旦得到cpu时间片,就开始执行run()方法,这里方法 run()称为线程体,它包含了要执行的这个线程的内容...如果两个都不设置的时候,那么主线程和子线程各自运行各自的,互不干扰,谁结束不会影响另一个运行情况:见https://www.zalou.cn/article/185872.htm示例 以上这篇判断Threading.start

2.5K20

僵尸进程的处理办法

,这个时候谁都拿它没办法,因为子进程已经结束了,就算使用kill -9 PID2这种发送终止信号的命令都无效 将介绍进程相关的常用的三个信号 kill -9 PID:终止进程 kill -19...,按ctrl + c并不会终止程序,要输入kill -9 PID才可终止 R+:在前台运行,这种会占用命令行,当进程在前台运行时,你在命令行中输入ls这种命令将不会被响应,因为命令行解释器已经被进程占用了...pid(在这里我们传的是子进程的pid),若该处填入-1,则是等待任何一个子进程 int* status:输出型参数 options:默认为0,表示阻塞等待 如果我们用了演示代码,并且同时观察了该进程的状态...直接&0x7f 因为十六进制的7的二进制为:0111 这样子我们就能通过status得到进程退出状态[5]和终止信号[6]啦 关于退出状态和终止信号: 如果得到的值是0:正常退出...如果得到的值是非0:非正常退出 如果是终止信号非0,则是由于程序崩溃而终止的进程代码并没有执行完,且我们就可以通过**kill -l**来知道该信号是因为什么原因而退出的了 如果是退出码非

3700

探索Linux下进程状态 | 僵尸进程 | 孤儿进程

X死亡状态(dead):这个状态只是一个返回状态,你不会在任务列表里看到这个状态。...进程在等待磁盘反馈,操作系统忙前忙后,忙的不可开交,看到这个进程:“你干嘛呢?快忙死了,快要崩溃了,一旦崩溃你可知后果??”,操作系统生气了,一气之下把这个进程干掉了,释放了这个进程的内存资源。...当一个进程处于D状态时,它不会响应任何请求,任何人和操作系统都无法干掉这个进程结束D状态方式: 等待某个条件,比如数据读入完毕 直接断电 僵尸进程 僵死状态(Zombies)是一个比较特殊的状态。...当进程退出并且父进程使用wait()系统调用,后面讲)没有读取到子进程退出的返回代码时就会产生僵死(尸)进程 僵死进程会以终止状态保持在进程表中,并且会一直在等待父进程读取退出状态代码。...} 父进程结束后,只剩下子进程,为什么父进程不会处于僵尸进程

9810

python-day01

很遗憾,缺少代码能力的确实没办法找到更好的工作机会,即使已经工作了五年多,即使也有相关的证书。   但是,在这个时代的浪潮下,想拥有质的飞越,不会代码真的不可能。...从右到左依次运行程序(运行后,会在下方提示对话框下进行显示结果),代码调试(通过设置断点,一条代码一条代码运行),“齿轮”对pyCharm进行设置 ?  ...这里需要注意一点,就是默认情况下,pyCharm无法运行getpass()函数,需要去python的默认解释器下面运行代码,才不会报错; #!...) : #range中表示0到10,中以2位步长来打印数值; print("loop",i)    使用端点来做代码命令错误排查,这样可以一行一行的运行代码,来查找代码中的错误; ?   ...*循环嵌套,对i进行循环i=0的时候内部代码运行一次,知道j到6后比较j>5则退出当前j的循环,在执行i的循环,直到i等于10则该段代码执行结束; for i in range(10) : print

55720

多任务编程 - 2

此时系统把first_thread调度“sleeping”状态,把second_thread转换为“running”状态,t2也获得g_num=0 然后second_thread对得到的值进行加1并赋给...线程t1又把它之前得到0加1后赋值g_num 这样虽然到这first_thread和second_thread都对g_num加1,但结果仍然是g_num=1 全局变量数据错误的解决办法: 线程同步:保证同一时刻只能有一个线程去操作全局变量...同步:就是协同步调,按预定的先后次序进行运行,如:你说完,再说好,好比如现实生活中的对讲机。...4、小结 互斥锁的作用就是保证同一时刻只能有一个线程去操作共享数据,保证共享数据不会出现错误问题 使用互斥锁的好处确保某段关键代码只能由一个线程从头到尾完整地去执行 使用互斥锁会影响代码的执行效率,多任务改成了单任务执行...5、小结 进程和线程都是完成多任务的一种方式 多进程要比多线程消耗的资源多,但是多进程开发比单进程开发稳定性要强,某个进程挂掉不会影响其他的进程进程可以使用CPU的多核运行,多线程可以共享全局变量

34020

Linux孤儿进程和僵尸进程详解(wait和watipid)

(void) { pid_t pid = fork(); if(pid > 0){ // 父进程输出pid并睡眠2s退出...,如果子进程还没有运行结束,那么父进程就会阻塞在这里,直到有子进程结束变为僵尸进程后,会获取子进程退出信息,并将它销毁返回。...当pid = -1时,等待任何一个子进程退出,那么此时的waitpid函数和wait函数的作用相同。         3. 当pid = 0时,等待和父进程相同进程组中的任何进程。        ...,那么这父子进程的组进程ID都是1000,那么我们在使用waitpid函数时,设置pid-1000的意思就是等待组进程ID1000的子进程结束。        ...第三个参数options,有时候父进程一直阻塞在那里会导致程序的性能降低,那么我们在第三个参数上使用WNOHANG的话,此时如果子进程还正在运行,父进程不会阻塞在这里并返回0,如果子进程已经结束,返回子进程

3.3K21

Java多线程基础

进程 进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存空间。当我们使用迅雷,又启动了一个进程,操作系统将为迅雷分配新的内存空间。...在控制台输出“哺瞄。是小猫咪 2)对上题改进:当输出80次啪瞄,是小猫咪,结束该线程 3)使用JConsole 监控线程执行情况,并画出程序示意图!...在进程运行时直接在控制台输入JConsole即可。 主线程挂了但是子线程还在继续执行,这并不会导致应用程序的结束。...while, 这时线程也就退出.. } } } } start()方法调用start0()方法后,该线程并不一定会立马执行,只是将线程变成了可运行状态。...在控制台输出“hi!”,当输出10次后,自动退出。请使用实现Runnable接口的方式实现。

26410

和老李一起搞山寨Workerman(三)

php /* 子进程在10s后退出退出后父进程已然还在运行中 但是父进程尚未做任何工作 所以按照定义,子进程将会成为僵尸进程. */ $i_pid = pcntl_fork(); if ( 0...$status.PHP_EOL; // while保持父进程退出 while ( true ) { sleep( 1 ); } } 贴一下运行结果图,在座可略感一二: ?...,以类pcntl_wait( $status )的方式发起调用则程式必之所阻塞,一直到子进程结束该函数则会返回;如我们将WNOHANG作为作为$option传入,程序则不会被阻塞。...只是有些复杂: <-1:等待任意进程组ID等于参数pid给定值的绝对值的进程 =-1:等待任意子进程;与pcntl_wait函数行为一致 =0:等待任意与调用进程组ID相同的子进程 >0:等待进程号等于参数...,而不会阻塞等待任一子进程结束,这一功能最大的作用就是:我们期盼获得到所有子进程的状态而不是想被阻塞,这一要点在有多个子进程的时候显得颇为至关重要。

1.1K61

pycharm解决关闭flask后依旧可以访问服务的问题

这种问题一般是退出flask服务时选择了disconected而不是选择terminate,dicconected是一种伪断开,只是pycharm这里中止了,但是python解释器依旧在运行这个服务。...默认选项是ask,但是一般情景下,我们退出的话应该是关闭程序,而不是缩小化到托盘,所以更改上图的默认设置退出进程。...找到该进程的PID 这里是13384,然后利用下面命令把它结束掉。...taskkill /pid XXXXX /f 补充知识:Flask使用pycharm未关闭导致僵尸进程 的僵尸进程产生 在使用pycharm编译程序的时候由于异常退出程序,导致子进程退出,父进程结束...僵尸进程 一个进程使用fork创建子进程,如果子进程退出,而父进程并没有调用wait或waitpid获取子进程的状态信息,那么子进程进程描述符仍然保存在系统中。这种进程称之为僵死进程

1.8K20

Linux - 请允许静静地后台运行

setsid setsid 是另一个让进程在后台执行的命令,它的作用是让进程打开一个新的会话并运行进程使用方式 setsid command。...正常情况下,一旦 sshd 进程结束,则 test.php也无法幸免。...setsid的坑 另外,setsid 有个略坑的地方: 在终端中直接使用 setsid command 运行进程时,终端前台并不会被影响,command 会在后台默默运行。...这是因为,setsid 在其是进程组长时会 fork() 一个进程,但它不会 wait() 它的子进程,而是立刻退出,所以在终端内直接使用 setsid 时,setsid 作为进程组长不会占用终端界面。...; 代码 以下是 php 创建守护进程的伪代码,另外的另一篇博客 初探PHP多进程 也稍微介绍了一些相关内容: $pid = pcntl_fork(); if ($pid > 0) { exit

1.7K50

python 并发执行之多线程

没有任何输出。什么情况??!!!是不是代码有错误??! 其实问题就出在t.setDaemon(True)  这一句上。...所以就出现了我们看到的结果,程序拉起来3个线程,就结束了主线程但是此时线程调用的函数haha()还没来得及输出呢,就被迫跟着程序一起结束了。     既然找到了原因,我们就来修改一下代码。...,就可以看到看起来很乱的执行结果 0 00 1  11 2 2 2 3 3 3 4 4 4 其实这就是三个线程并行运行同时输出,所以把结果都输出到一起引起。...现在我们再修改一下代码,看看join()方法到底怎么正确使用。...第一个线程没有运行完的情况下,是不会执行gnum+1操作的。此时对第二个线程来说依旧是gnum=0

9K21

ubuntu20.04安装pycharm_linux下安装软件命令

现在可以在PyCharm 2019.1中直接编辑Notebook,并提供方便的并排视图,帮助您更好地了解Notebook的源代码,同时查看旁边的输出。您可以直接从IDE运行和调试单元格。...最近的文件弹出窗口(在macOS上Ctrl-E或Cmd-E)一直在那里快速移动你正在编辑的文件,但现在我们也得到了新的和改进的最近位置弹出窗口。...已经结束了对两个Python版本的支持:2.6(自2013年以来就已经结束了)和3.4(刚刚达到生命周期结束时)。如果您仍在使用这些版本,则会收到警告,指出不再支持这些版本。...一些PyCharm功能可能不再起作用,将不再修复与这些Python版本相关的任何错误。 更多功能,例如调试大型集合时的更好性能,类型检查变量赋值,pytest的多进程测试运行器。...卸载: 要删除PyCharm快照包,请使用Ubuntu软件或在终端中运行命令: linuxidc@linuxidc:~/www.linuxidc.com$ sudo snap remove pycharm-professional

2.2K20
领券