w****a 发帖数: 155 | 1 我在写一个system call 的程序, 主要是用chdir实现改变当前目录,程序如下:
#include
#include
using namespace std;
int main()
{
char* path ="/home/ugrad1/arcbelly";
char* buf ;
buf = new char[256];
chdir(path);
getcwd(buf,256);
cout << buf << endl;
return 0;
}
执行完这个程序后,当前目录应该变到 /home/ugrad1/arcbelly
但是输出结果确是:
/home/ugrad1/arcbelly
The "temp" directory is my original one, so this means that this program
doesn't change the current directory. I think the "chdir" might not work.
请帮我看看是 |
|
b****k 发帖数: 10 | 2 your chdir is only effective in its own process, it cannot change the cwd of
its parent process, which is the shell. |
|
w****a 发帖数: 155 | 3 谢谢你的回贴,能不能再详细一些,我正在学习system programming.
你的意思是说,我的程序其实只是改的child process 的目录,而最后显示的是主进程
的目录,但它并没有受到CHDIR 的影响, 是吗。
那请问我应该如何做呢。 |
|
w****a 发帖数: 155 | 4 I have another question, looks like in my original problem, I didn't build
another child process using fork(), why chdir didn't work though? |
|
s*******s 发帖数: 1031 | 5 今天我折腾这个问题一整天了,还是搞不定,请大家帮忙解决这个问题。先谢了!
我有两台机器A和B,在A上我共享了一个C:\tmp目录,把它共享成任何人可以读写。
在机器B上我把\A\tmp 映射成B的Z: 盘,然后我在B上运行一个程序(不是service),
在这个程序中我调用chdir("Z:")函数想把当前的工作目录切换到Z:,但是老是失败,
chdir()总是反回-1.
我知道windows不允许service访问网络共享的目录,所以我把service换成了一个程序
,但是还是不行。
在A、B两台机器我还需要设置什么才行?谢谢! |
|
m**d 发帖数: 21441 | 6 QBASIC - Statements
命令:
BEEP, BLOAD, BSAVE, CALL, CHAIN, CHDIR, CIRCLE, CLEAR, CLOSE, CLS, COLOR,
COM, COMMON, CONST, DATA, DATE$, DECLARE, DEF, DEFDBL, DEFINT, DEFLNG,
DEFSNG, DEFSTR, DIM, DO, DRAW, END, ENVIRON, ERASE, ERROR, EXIT, FIELD,
FILES, FOR, FUNCTION, GET, GOSUB, GOTO, IF, INPUT, IOCTL, KEY, KILL, LET,
LINE, LINE INPUT, LOCATE, LOCK, LPRINT, LSET, MID$, MKDIR, NAME, ON, OPEN,
OPTION, OUT, PAINT, PALETTE, PCOPY, PEN, PLAY, POKE, PRESET, PRINT, PSET,
PUT, RANDOMIZE, READ, REDIM, REM, ... 阅读全帖 |
|
n******7 发帖数: 12463 | 7 基本就是试了一堆方法,最后只能password
然后chdir /home/nowhere7/失败
ssh -vvvv [email protected]/* */
OpenSSH_6.7p1 Debian-5, OpenSSL 1.0.1t 3 May 2016
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to ftp.mitbbs.com [8.8.8.8] port 22.
debug1: Connection established.
debug1: identity file /home/nowhere7/.ssh/id_rsa type 1
debug1: key_load_public: No such file or directory
debug1: identity f... 阅读全帖 |
|
g**i 发帖数: 167 | 8 【 以下文字转载自 Programming 讨论区 】
发信人: gazi (嘎子), 信区: Programming
标 题: cygwin下的默认路径
发信站: BBS 未名空间站 (Tue Jan 30 04:27:47 2007)
cygwin下可执行文件的默认路径是 /bin 。如果我想把另一个路径(比如 /a/b) 也设
为可执行文件的默认路径,该怎么办?
我查看了 cygwin.bat文件,里面关于可执行文件默认路竟是这样写的:
chdir C:\cygwin\bin
那如果我想把 C:\cygwin\a\b 也设成默认路径,我可不可以这样做:
chdir C:\cygwin\bin; C:\cygwin\a\b
或者是别的什么方法?
谢谢! |
|
h*********n 发帖数: 278 | 9 刚开始学google的python class,然后装了python,也可以用interpreter,比如输入a=
6之类的,但是就是运行不了那个hello.py,过程如下
>>> import os
>>> os.chdir("/Python27/google-python-exercises")
>>> python hello.py
SyntaxError: invalid syntax
那个hello.py明明就在C:/Python27/google-python-exercises/里,为啥就运行不了呢?
刚开始学就受打击啊,求牛人指点。
另外os.chdir是我自己google出来的,instruction只说要cd到exercises所在的目录,
可没说怎么去,不知道对不对。 |
|
t********e 发帖数: 32 | 10 以前pen用python写了个小程序抓图, 谁要是改改应该就能用了把
#!/usr/bin/env python
import cgi
import cgitb; cgitb.enable() # for troubleshooting
from datetime import datetime
import sys
import os
import re
import getpass
import urllib
print "Content-type: text/html"
print
print """
"""
form = cgi.FieldStorage()
event = 00
bib = 9079
#event = int(form["event"].value)
#bib = int(form["bib"].value)
pics = []
base_dir = "/Users/changyao/Desktop/brightroom"
#base_dir = "/tmp"
os.chdir(base_dir)
logfile = "l... 阅读全帖 |
|
D*********s 发帖数: 555 | 11 #git fetch remote
fatal: 'remote': unable to chdir or not a git archive
fatal: The remote end hung up unexpectedly
这个是咋回事呢? |
|
L*1 发帖数: 11537 | 12 Try this:
#!/usr/bin/perl
my $dir = "/tmp"; # change it!
print "$dir\n";
opendir(DIR, $dir) || die "Error in opening dir $dir\n";
chdir($dir);
while( ($filename = readdir(DIR)))
{
next if (-d $filename);
print "$filename\n";
my $new_filename = uc($filename);
print "-- $new_filename\n";
#system("mv $filename $new_filename");
}
closedir(DIR);
exit;
~ |
|
|
|
c**t 发帖数: 2744 | 15 下面这一段code在W2k3下运行一段时间就停止了(没有新的timestamp打印到stdout),
可能是怎么回事?
#!C:\perl\bin -w
use strict;
my ($t1, $t2, $dt);
my $DIR = 'C:\Scripts';
my $PHP = 'C:\PHP\php.exe';
my $SRC = 'getData.php';
my $INTERVAL = 3;
chdir($DIR);
my $i = 0;
while(1)
{
$t1 = time;
system($PHP, $SRC);
$t2 = time;
$dt = ($INTERVAL * 60) - ($t2 - $t1);
if($dt > 0)
{
print "[", scalar(localtime(time)), "] Sleeping $dt seconds\
n";
sleep( $dt );
|
|
t****t 发帖数: 6806 | 16 quote perldoc -f readdir:
If you’re planning to filetest the return values out of a
"readdir", you’d better prepend the directory in question.
Otherwise, because we didn’t "chdir" there, it would have been
testing the wrong file.
end quote |
|
x*******a 发帖数: 11067 | 17 想法很简单,就是写一个程序用所有机器上的processor来跑同一个模型。模型的输入文
件不一样,结果也就不一样。不同的输入文件在不同的文件夹下面。
我的程序如下(是Fortran的),第一次跑了没问题,但是再跑一次,就出现了这样的错
误信息:
"The process cannot access the file because it is being used by another
process".
请问这个问题是怎么产生的,怎么解决呢?
谢谢!
!--------------------------------------------
program ompHelloWorld
use omp_lib
integer NTHREADS, TID,
!$OMP PARALLEL PRIVATE(TID), SHARED(NTHREADS)
TID = OMP_GET_THREAD_NUM()
PRINT *, 'Hello World from thread = ', TID
CALL RUNMODEL(TID)
!$OMP END PARALLEL
end program om... 阅读全帖 |
|
d******e 发帖数: 2265 | 18 csh shell series
alias setprompt 'set prompt="`whoami`:${cwd}>"'
setprompt
alias cd 'chdir \!* && setprompt' |
|
|
h****u 发帖数: 277 | 20 你的shell是一个程序吧,你写的程序再shell上运行,所以是shell的子程序。所以你的
程序的当前路径变了,不能影响它的父进程。
九江子
of
work. |
|
w****a 发帖数: 155 | 21 Thanks for your help. But is there any method that can change the "dir" of
other process?
的
cwd
:
program |
|