POPEN.3
上传用户:datang2001
上传日期:2007-02-01
资源大小:53269k
文件大小:1k
源码类别:

操作系统开发

开发平台:

C/C++

  1. ." @(#)popen.3 6.1 (Berkeley) 5/15/85
  2. ."
  3. .TH POPEN 3 "May 15, 1985"
  4. .AT 3
  5. .SH NAME
  6. popen, pclose - initiate I/O to/from a process
  7. .SH SYNOPSIS
  8. .nf
  9. .ft B
  10. #include <stdio.h>
  11. FILE *popen(const char *command, const char *type)
  12. int pclose(FILE *stream)
  13. .SH DESCRIPTION
  14. The arguments to 
  15. .B popen
  16. are pointers to null-terminated strings containing respectively a
  17. shell command line and an I/O mode, either "r" for reading or "w" for
  18. writing.  It creates a pipe between the calling process and
  19. the command to be executed.  The value returned is a stream pointer that
  20. can be used (as appropriate) to write to the standard input
  21. of the command or read from its standard output.
  22. .PP
  23. A stream opened by
  24. .B popen
  25. should be closed by
  26. .BR pclose ,
  27. which waits for the associated process to terminate
  28. and returns the exit status of the command.
  29. .PP
  30. Because open files are shared, a type "r" command may be used as an input
  31. filter, and a type "w" as an output filter.
  32. .SH "SEE ALSO"
  33. .BR pipe (2),
  34. .BR fopen (3),
  35. .BR fclose (3),
  36. .BR system (3),
  37. .BR wait (2),
  38. .BR sh (1).
  39. .SH DIAGNOSTICS
  40. .B Popen
  41. returns a null pointer if files or processes cannot be created, or the shell 
  42. cannot be accessed.
  43. .SH BUGS
  44. Buffered reading before opening an input filter
  45. may leave the standard input of that filter mispositioned.
  46. Similar problems with an output filter may be
  47. forestalled by careful buffer flushing, for instance, with
  48. .BR fflush ,
  49. see
  50. .BR fclose (3).