问题
when using ./bin/cassandra -f
, it shows:
Cz@z-EX465-MX:~/cassandra$ ./bin/cassandra -f
INFO 09:12:19,460 Logging initialized
INFO 09:12:19,484 Heap size: 1033895936/1033895936
INFO 09:12:19,486 JNA not found. Native methods will be disabled.
INFO 09:12:19,501 Loading settings from file:/home/z/cassandra/conf/cassandra.yaml
INFO 09:12:19,711 DiskAccessMode 'auto' determined to be standard, indexAccessMode is standard
INFO 09:12:19,829 Creating new commitlog segment /var/lib/cassandra/commitlog/CommitLog-1297127539829.log
INFO 09:12:19,888 Deleted /var/lib/cassandra/data/system/LocationInfo-f-12
INFO 09:12:19,889 Deleted /var/lib/cassandra/data/system/LocationInfo-f-9
INFO 09:12:19,890 Deleted /var/lib/cassandra/data/system/LocationInfo-f-11
INFO 09:12:19,891 Deleted /var/lib/cassandra/data/system/LocationInfo-f-10
INFO 09:12:19,939 reading saved cache /var/lib/cassandra/saved_caches/system-IndexInfo-KeyCache
INFO 09:12:19,946 reading saved cache /var/lib/cassandra/saved_caches/system-Schema-KeyCache
INFO 09:12:19,949 reading saved cache /var/lib/cassandra/saved_caches/system-Migrations-KeyCache
INFO 09:12:19,952 reading saved cache /var/lib/cassandra/saved_caches/system-LocationInfo-KeyCache
INFO 09:12:19,962 Opening /var/lib/cassandra/data/system/LocationInfo-f-13
INFO 09:12:19,984 reading saved cache /var/lib/cassandra/saved_caches/system-HintsColumnFamily-KeyCache
INFO 09:12:20,043 Couldn't detect any schema definitions in local storage.
INFO 09:12:20,045 Found table data in data directories. Consider using JMX to call org.apache.cassandra.service.StorageService.loadSchemaFromYaml().
INFO 09:12:20,058 Replaying /var/lib/cassandra/commitlog/CommitLog-1297127304757.log
INFO 09:12:20,060 Finished reading /var/lib/cassandra/commitlog/CommitLog-1297127304757.log
INFO 09:12:20,061 Log replay complete
INFO 09:12:20,147 Cassandra version: 0.7.1-SNAPSHOT
INFO 09:12:20,147 Thrift API version: 19.4.0
INFO 09:12:20,168 Loading persisted ring state
INFO 09:12:20,175 Starting up server gossip
INFO 09:12:20,195 switching in a fresh Memtable for LocationInfo at CommitLogContext(file='/var/lib/cassandra/commitlog/CommitLog-1297127539829.log', position=89)
INFO 09:12:20,197 Enqueuing flush of Memtable-LocationInfo@14850080(29 bytes, 1 operations)
INFO 09:12:20,199 Writing Memtable-LocationInfo@14850080(29 bytes, 1 operations)
INFO 09:12:20,604 Completed flushing /var/lib/cassandra/data/system/LocationInfo-f-14-Data.db (80 bytes)
INFO 09:12:20,623 Starting Messaging Service on port 7000
INFO 09:12:20,669 Using saved token 66456586001264063553489133185713650713
INFO 09:12:20,670 switching in a fresh Memtable for LocationInfo at CommitLogContext(file='/var/lib/cassandra/commitlog/CommitLog-1297127539829.log', position=270)
INFO 09:12:20,671 Enqueuing flush of Memtable-LocationInfo@5006112(53 bytes, 2 operations)
INFO 09:12:20,671 Writing Memtable-LocationInfo@5006112(53 bytes, 2 operations)
INFO 09:12:20,938 Completed flushing /var/lib/cassandra/data/system/LocationInfo-f-15-Data.db (163 bytes)
INFO 09:12:20,945 Will not load MX4J, mx4j-tools.jar is not in the classpath
INFO 09:12:21,008 Binding thrift service to localhost/127.0.0.1:9160
INFO 09:12:21,013 Using TFastFramedTransport with a max frame size of 15728640 bytes.
INFO 09:12:21,016 Listening for thrift clients...
so when browse 127.0.0.1:9160
, it shows blank white page. but I cannot use this terminal window except pressing Ctrl+c
and stop cassandra.
I'm looking if I can use ./bin/cassandra -f &
to have back the terminal window, but when trying pgrep thrift
or pgrep cassandra
, I found nothing. I dont know how to stop it when using other terminal window
回答1:
The -f is for foreground. Just omit it, if you want Cassandra to daemonize.
回答2:
solved.
use pgrep java
to see the process
回答3:
On a *nix system, you should be able to type ctrl-z to halt the foreground cassandra process. That will give you a prompt, if you then type bg at the prompt, the cassandra process will be backgrounded. You can do this with any foreground process that you need to background.
回答4:
if you do use a combination of -f and & then your job is in the background.
you can just enter:
fg
to bring it back to the foreground and then CTRL-C
or use:
jobs
to see what you have in the background. then you can use fg with the job number.
You can also use CTRL-Z to suspend whatever is currently running on the terminal, then use:
bg
to background it.
Here is an example session where I run tail twice and demonstrate putting it on and off the terminal
rob@deathstar:~$ tail -f /var/log/messages &
[1] 13074 <-- that's the PID :)
rob@deathstar:~$ tail -f /var/log/daemon.log &
[2] 13089
rob@deathstar:~$ jobs
[1]- Running tail -f /var/log/messages &
[2]+ Running tail -f /var/log/daemon.log &
rob@deathstar:~$ fg 1
tail -f /var/log/messages
^Z
[1]+ Stopped tail -f /var/log/messages
rob@deathstar:~$ bg
[1]+ tail -f /var/log/messages &
rob@deathstar:~$ jobs
[1]- Running tail -f /var/log/messages &
[2]+ Running tail -f /var/log/daemon.log &
rob@deathstar:~$ fg 2
tail -f /var/log/daemon.log
^Z
[2]+ Stopped tail -f /var/log/daemon.log
rob@deathstar:~$ bg
[2]+ tail -f /var/log/daemon.log &
rob@deathstar:~$ jobs
[1]- Running tail -f /var/log/messages &
[2]+ Running tail -f /var/log/daemon.log &
rob@deathstar:~$
回答5:
Use
./cassandra -f pid.txt
Your process will run in background automatically and push the process id into a file. Will be helpful to stop cassandra process using the process id in pid.txt.
回答6:
In the case of Windows.... you would need to restart the cluster again as once the service is running in the foreground, the cluster will need to be restarted
来源:https://stackoverflow.com/questions/4928669/start-cassandra-with-bin-cassandra-f-how-to-have-back-the-terminal-window