duanhuantong8278 2016-03-17 18:12
浏览 28

Exec()命令和脚本流程

I'm just not sure... Does a script with exec(....) wait until the exec() is complete before continuing?

for instance my script will flow like this....

  1. Copy PDF file from AWS to web server
  2. Convert PDF file to JPG (exec())
  3. Upload JPG to AWS
  4. Delete both files from server.

Repeat 10,000 times...

Do i need to write something to halt the code until the exec is complete? or can use the exec command, move the files, then delete the files? My concern is the program will try to delete the files before they are converted.

I hope this is clear and thanks...

  • 写回答

2条回答 默认 最新

  • dqlk31541 2016-03-17 18:20
    关注

    AFAIK exec() (if you are talking about system call) is a blocking call, hence further execution of script (whatever language it is !) will be blocked. You can use & and redirect Stderr/Stdout to /dev/null, for running process in background and wait for to complete.

    Best way would be do it asynchronously :

    fork() --- Child Process
    if fork returns 0 
     exec() --- Command you want to process your jpegs with
    in parent wait() for exec to complete
    
    评论

报告相同问题?

悬赏问题

  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类
  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据